(PHP 8 >= 8.2.0)
Random\Randomizer::pickArrayKeys — Sélectionne des clés de tableau aléatoires
Sélectionne de manière uniforme num
clés de tableau distinctes de l'array
d'entrée.
Chaque clé de l'array
d'entrée a la même chance d'être retournée.
La sélection des clés de tableau dépend de la structure interne de
l'array
d'entrée. Les clés de tableau retournées peuvent être différentes pour
deux tableaux d'entrée égaux et deux Random\Engines avec
un état identique, en fonction de la manière dont les tableaux d'entrée ont été créés.
array
Le tableau dont les clés de tableau sont sélectionnées.
num
Le nombre de clés de tableau à retourner; doit être compris entre 1
et le nombre d'éléments dans array
.
Un tableau contenant num
clés de tableau distinctes de array
.
Le tableau retourné sera une liste (array_is_list()). Ce sera un sous-ensemble du tableau retourné par array_keys().
num
est inférieur à 1
ou
supérieur au nombre d'éléments dans array
, une
ValueError sera lancée.
Random\Randomizer::$engine
sous-jacent.
Exemple #1 Exemple de Random\Randomizer::pickArrayKeys()
<?php
$r = new \Random\Randomizer();
$fruits = [ 'red' => '🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ];
// Prend 2 clés de tableau aléatoires:
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 2)), "\n";
// Prend 3 autres clés:
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 3)), "\n";
?>
Résultat de l'exemple ci-dessus est similaire à :
Keys: yellow, purple Keys: red, green, yellow
Exemple #2 Prendre des valeurs aléatoire
<?php
$r = new \Random\Randomizer();
$fruits = [ 'red' => '🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ];
$keys = $r->pickArrayKeys($fruits, 2);
// Regarder les valeurs pour les clés sélectionnées.
$selection = array_map(
static fn ($key) => $fruits[$key],
$keys
);
echo "Values: ", implode(', ', $selection), "\n";
?>
Résultat de l'exemple ci-dessus est similaire à :
Values: 🍎, 🍇