Documentación offline PHP master

Random\Randomizer::pickArrayKeys

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

Random\Randomizer::pickArrayKeys

Selecciona claves de array aleatorias

Descripción#

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

Selecciona de manera uniforme `num` claves de array distintas del `array` de entrada.

Cada clave del `array` de entrada tiene la misma posibilidad de ser retornada.

> [!CAUTION]
> La selección de las claves de array depende de la estructura interna del `array` de entrada. Las claves de array retornadas pueden ser diferentes para dos arrays de entrada iguales y dos `Random\Engine`s con un estado idéntico, en función de la manera en que los arrays de entrada hayan sido creados.

## Parámetros

`array`  
El array cuyas claves de array son seleccionadas.

`num`  
El número de claves de array a retornar; debe estar comprendido entre `1` y el número de elementos en `array`.

## Valores devueltos

Un `array` que contiene `num` claves de array distintas de `array`.

El `array` retornado será una lista (`array_is_list`). Será un subconjunto del `array` retornado por `array_keys`.

## Errores/Excepciones

- Si `num` es inferior a `1` o superior al número de elementos en `array`, se lanzará una `ValueError`.

- Cualquier `Throwable` lanzado por el método Random\Engine::generate del [`Random\Randomizer::$engine`](#random-randomizer.props.engine) subyacente.

## Ejemplos

Ejemplo de `Random\Randomizer::pickArrayKeys`
'🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ]; // Toma 2 claves de array aleatorias: echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 2)), "\n"; // Toma 3 otras claves: echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 3)), "\n"; ?>
Resultado del ejemplo anterior es similar a:

    Keys: yellow, purple
    Keys: red, green, yellow

Tomar valores aleatorios
'🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ]; $keys = $r->pickArrayKeys($fruits, 2); // Ver los valores para las claves seleccionadas. $selection = array_map( static fn ($key) => $fruits[$key], $keys ); echo "Values: ", implode(', ', $selection), "\n"; ?>

```php

Resultado del ejemplo anterior es similar a:

Values: 🍎, 🍇

Véase también#

array_keys