PHP 8.6.0 Beta 1 is available for testing

Random\Randomizer::pickArrayKeys

(PHP 8 >= 8.2.0)

Random\Randomizer::pickArrayKeysВыбирает случайные ключи массива

Описание

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

Равномерно выбирает num отдельных ключей массива входного массива array.

Каждый ключ входного массива array с равной вероятностью будет возвращён.

Предостережение

Выбор ключей массива зависит от внутренней структуры входного массива array. Ключи возвращаемого массива могут быть разными для двух одинаковых входных массивов и двух объектов Random\Engine с одинаковым состоянием, в зависимости от того, как были созданы входные массивы.

Список параметров

array

Массив, ключи массива которого выбираются.

num

Количество возвращаемых ключей массива; должно быть между 1 и количеством элементов в параметре array.

Возвращаемые значения

Массив (array ), содержащий num отдельных ключей массива array.

Возвращаемый массив (array ) будет списком (array_is_list() ). Это будет подмножество массивов (array ), возвращаемых функцией array_keys() .

Ошибки

Примеры

Пример #1 Пример использования Random\Randomizer::pickArrayKeys()

<?php
$r = new \Random\Randomizer();
$fruits = [ 'red' => '🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ];
// Выборка 2 случайных ключей массива:
echo "Ключи: ", implode(', ', $r->pickArrayKeys($fruits, 2)), "\n";
// Выборка ещё 3:
echo "Ключи: ", implode(', ', $r->pickArrayKeys($fruits, 3)), "\n";
?>

Вывод приведённого примера будет похож на:

Ключи: yellow, purple
Ключи: red, green, yellow

Пример #2 Выбор случайных значений

<?php
$r = new \Random\Randomizer();
$fruits = [ 'red' => '🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ];
$keys = $r->pickArrayKeys($fruits, 2);
// Поиск значения для выбранных ключей.
$selection = array_map(
 static fn ($key) => $fruits[$key],
 $keys
);
echo "Значения: ", implode(', ', $selection), "\n";
?>

Вывод приведённого примера будет похож на:

Значения: 🍎, 🍇

Смотрите также

  • array_keys() - Возвращает все или некоторое подмножество ключей массива

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /