(PHP 8 >= 8.2.0)
Random\Randomizer::pickArrayKeys — Select random array keys
Uniformly selects num
distinct array keys of the input array
.
Each key of the input array
is equally likely to be returned.
The selection of the array keys depends on the internal structure of the input
array
. The returned array keys might be different for
two equal input arrays and two Random\Engines with
identical state, depending on how the input arrays have been created.
array
The array whose array keys are selected.
num
The number of array keys to return; must be between 1
and the number of elements in array
.
An Array containing num
distinct array keys of array
.
The returned Array will be a list (array_is_list()). It will be a subset of the Array returned by array_keys().
num
is less than 1
or
greater than the number of elements in array
, a
ValueError will be thrown.
Random\Randomizer::$engine
ausgelöst werden.
Beispiel #1 Random\Randomizer::pickArrayKeys() example
<?php
$r = new \Random\Randomizer();
$fruits = [ 'red' => '🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ];
// Pick 2 random array keys:
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 2)), "\n";
// Pick another 3:
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 3)), "\n";
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Keys: yellow, purple Keys: red, green, yellow
Beispiel #2 Picking random values
<?php
$r = new \Random\Randomizer();
$fruits = [ 'red' => '🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ];
$keys = $r->pickArrayKeys($fruits, 2);
// Look up the values for the picked keys.
$selection = array_map(
static fn ($key) => $fruits[$key],
$keys
);
echo "Values: ", implode(', ', $selection), "\n";
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Values: 🍎, 🍇