PHP Conference Kansai 2025

Random\Randomizer::pickArrayKeys

(PHP 8 >= 8.2.0)

Random\Randomizer::pickArrayKeysSeleciona chaves aleatórias de um array

Descrição

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

Seleciona uniformemente num chaves de array distintas do array de entrada.

Cada chave do array de entrada tem a mesma probabilidade de ser retornada.

Cuidado

A seleção das chaves do array depende da estrutura interna do array de entrada. As chaves do array retornadas podem ser diferentes para dois arrays de entrada iguais e dois Random\Engines com estado idêntico, dependendo de como os arrays de entrada foram criados.

Parâmetros

array

O array cujas chaves são selecionadas.

num

O número de chaves de array a serem retornadas; deve estar entre 1 e o número de elementos no array.

Valor Retornado

Um array contendo num chaves de array distintas de array.

O array retornado será uma lista (array_is_list()). Será um subconjunto do array retornado por array_keys().

Erros/Exceções

Exemplos

Exemplo #1 Exemplo de Random\Randomizer::pickArrayKeys()

<?php
$r
= new \Random\Randomizer();

$frutas = [ 'vermelho' => '🍎', 'verde' => '🥝', 'amarelo' => '🍌', 'rosa' => '🍑', 'roxo' => '🍇' ];

// Escolhe 2 chaves de array aleatórias:
echo "Chaves: ", implode(', ', $r->pickArrayKeys($frutas, 2)), "\n";

// Escolhe outras 3:
echo "Chaves: ", implode(', ', $r->pickArrayKeys($frutas, 3)), "\n";
?>

O exemplo acima produzirá algo semelhante a:

Chaves: amarelo, roxo
Chaves: vermelho, verde, amarelo

Exemplo #2 Escolhendo valores aleatórios

<?php
$r
= new \Random\Randomizer();

$frutas = [ 'vermelho' => '🍎', 'verde' => '🥝', 'amarelo' => '🍌', 'rosa' => '🍑', 'roxo' => '🍇' ];

$chaves = $r->pickArrayKeys($frutas, 2);
// Procura os valores das chaves escolhidas.
$selection = array_map(
static fn (
$chave) => $frutas[$chave],
$chaves
);

echo
"Valores: ", implode(', ', $selection), "\n";
?>

O exemplo acima produzirá algo semelhante a:

Valores: 🍎, 🍇

Veja Também

  • array_keys() - Retorna todas as chaves ou uma parte das chaves de um array
adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top