(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.
arrayLe 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 "Clés : ", implode(', ', $r->pickArrayKeys($fruits, 2)), "\n";
// Prend 3 autres clés:
echo "Clés : ", implode(', ', $r->pickArrayKeys($fruits, 3)), "\n";
?>Résultat de l'exemple ci-dessus est similaire à :
Clés : yellow, purple Clés : red, green, yellow
Exemple #2 Prendre des valeurs aléatoires
<?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 "Valeurs : ", implode(', ', $selection), "\n";
?>Résultat de l'exemple ci-dessus est similaire à :
Valeurs : đ, đ