Random\Randomizer::pickArrayKeys
(PHP 8 >= 8.2.0)
Random\Randomizer::pickArrayKeys — Select random array keys
Descrição
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.
Parâmetros
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 inarray
.
Valor Retornado
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().
Erros/Exceções
-
If
num
is less than1
or greater than the number of elements inarray
, a ValueError will be thrown. -
Qualquer erro ou exceção Throwable lançados pelo método Random\Engine::generate()
do mecanismo
Random\Randomizer::$engine
subjacente.
Exemplos
Example #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";
?>
O exemplo acima produzirá algo semelhante a:
Keys: yellow, purple Keys: red, green, yellow
Example #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";
?>
O exemplo acima produzirá algo semelhante a:
Values: 🍎, 🍇
Veja Também
- array_keys() - Retorna todas as chaves ou uma parte das chaves de um array