(PHP 8 >= 8.2.0)
Random\Randomizer::pickArrayKeys โ ใฉใณใใ ใซ้ ๅใฎใญใผใ้ธๆใใ
ๆๅฎใใใ array
ใซๅญๅจใใใ
num
ๅใฎ็ฐใชใ้
ๅใฎใญใผใ็ญ็ขบ็ใซ้ธใณใพใใ
ๆๅฎใใใ array
ใฎใ
ๅใ
ใฎใญใผใ่ฟใใใ็ขบ็ใฏ็ญใใใชใใพใใ
้
ๅใฎใญใผใฎ้ธใฐใๆนใฏใ
ๆๅฎใใใ array
ใฎๅ
้จๆง้ ใซไพๅญใใพใใ
ใตใใคใฎ้
ๅใ็ญใใใใใค
Random\Engine ใฎๅ
้จ็ใชในใใผใใ็ญใใใฆใใ
ๆๅฎใใใ้
ๅใฎไฝใใๆนใซใใฃใฆใฏ่ฟใใใใญใผใ็ฐใชใๅฏ่ฝๆงใใใใพใใ
array
ใญใผใ้ธใถ้ ๅ
num
่ฟใในใ้
ๅใฎใญใผใฎๆฐใ
1
ไปฅไธใใคใ
array
ใฎ่ฆ็ด ๆฐไปฅไธใงใใๅฟ
่ฆใใใใพใใ
array
ใฎ
็ฐใชใ num
ๅใฎใญใผใๅซใใ ้
ๅใ่ฟใใพใใ
่ฟใใใ้ ๅใฏใชในใ (array_is_list()) ใซใชใใพใใ ใใใฏ array_keys() ใ่ฟใ้ ๅใฎใตใใปใใใงใใ
num
ใฎๅคใ
1
ใใๅฐใใใฃใใใ
array
ใฎ่ฆ็ด ๆฐใใๅคงใใๅ ดๅใ
ValueError ใในใญใผใใใพใใ
Random\Randomizer::$engine
ใซๅญๅจใใ
Random\Engine::generate() ใกใฝใใ
ใในใญใผใใใใใใใ Throwable ใในใญใผใใใพใใ
ไพ1 Random\Randomizer::pickArrayKeys() ใฎไพ
<?php
$r = new \Random\Randomizer();
$fruits = [ 'red' => '๐', 'green' => '๐ฅ', 'yellow' => '๐', 'pink' => '๐', 'purple' => '๐' ];
// ้
ๅใฎใญใผใใตใใคใใฉใณใใ ใซๅใๅบใใพใ
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 2)), "\n";
// ๅฅใฎ้
ๅใฎใญใผใ3ใคๅใๅบใใพใ
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 3)), "\n";
?>
ไธใฎไพใฎๅบๅใฏใ ใใจใใฐไปฅไธใฎใใใซใชใใพใใ
Keys: yellow, purple Keys: red, green, yellow
ไพ2 ใฉใณใใ ใซๅคใๅใๅบใ
<?php
$r = new \Random\Randomizer();
$fruits = [ 'red' => '๐', 'green' => '๐ฅ', 'yellow' => '๐', 'pink' => '๐', 'purple' => '๐' ];
$keys = $r->pickArrayKeys($fruits, 2);
// ๅใๅบใใใญใผใฎๅคใๆค็ดขใใพใ
$selection = array_map(
static fn ($key) => $fruits[$key],
$keys
);
echo "Values: ", implode(', ', $selection), "\n";
?>
ไธใฎไพใฎๅบๅใฏใ ใใจใใฐไปฅไธใฎใใใซใชใใพใใ
Values: ๐, ๐