(PHP 8 >= 8.2.0)
Random\Randomizer::pickArrayKeys — Select random array keys
$array, int $num): array
   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.
   
arrayThe 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 tableau containing num distinct array keys of array.
  
The returned tableau will be a list (array_is_list()). It will be a subset of the tableau 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 sous-jacent.
  
 Exemple #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";
?>
Résultat de l'exemple ci-dessus est similaire à :
Keys: yellow, purple Keys: red, green, yellow
Exemple #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";
?>
Résultat de l'exemple ci-dessus est similaire à :
Values: 🍎, 🍇