Sélectionne des clés de tableau aléatoires

# Random\Randomizer::pickArrayKeys

(PHP 8 >= 8.2.0)

Random\Randomizer::pickArrayKeys — Sélectionne des clés de tableau aléatoires

### Description

public function Random\Randomizer::pickArrayKeys(array `$array`, int `$num`): array

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.

Attention

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.

### Liste de paramètres

`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`.

### Valeurs de retour

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().

### Erreurs / Exceptions

- Si `num` est inférieur à `1` ou supérieur au nombre d'éléments dans `array`, une ValueError sera lancée.
- Tout Throwables lancé par la méthode Random\Engine::generate() du `Random\Randomizer::$engine` sous-jacent.

### Exemples

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 : 🍎, 🍇

### Voir aussi

- array_keys() - Retourne toutes les clés ou un ensemble des clés d'un tableau

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open