array_rand
PHP Manual
PHP Manual»Функції для роботи з масивами»array_rand

array_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

array_randPick one or more random keys out of an array

Опис

function array_rand(array $array, int $num = 1): int|string|array

Picks one or more random entries out of an array, and returns the key (or keys) of the random entries.

Застереження

Ця функція не генерує криптографічно безпечні значення, тож не повинна використовуватись для криптографічних цілей чи тих, що вимагають використання непередбачуваних значень.

Якщо потрібна криптографічно безпечна випадковість, можна використати Random\Randomizer разом з рушієм Random\Engine\Secure. Для простих випадків є функції random_int() і random_bytes(), які забезпечують зручний і безпечний API до системного CSPRNG.

Застереження

This function uses the global Mt19937 (“Mersenne Twister”) instance as the source of randomness and thus shares its state with all other functions using the global Mt19937. Using any of these functions advances the sequence for all the other functions, regardless of scope.

Generating repeatable sequences by seeding mt_srand() or srand() with a known value will also yield repeatable output from this function.

Prefer using Random\Randomizer methods in all newly written code.

Параметри

array

The input array. Cannot be empty.

num

Specifies how many entries should be picked. Must be greater than zero, and less than or equal to the length of array

Значення, що повертаються

When picking only one entry, array_rand() returns the key for a random entry. Otherwise, an array of keys for the random entries is returned. This is done so that random keys can be picked from the array as well as random values. If multiple keys are returned, they will be returned in the order they were present in the original array.

Помилки/виключення

Throws a ValueError if array is empty, or if num is out of range.

Журнал змін

Версія Опис
8.0.0 array_rand() now throws a ValueError if num is out of range; previously an E_WARNING was raised, and the function returned null.
8.0.0 array_rand() now throws a ValueError if array is empty; previously an E_WARNING was raised, and the function returned null.
7.1.0 The internal randomization algorithm has been changed to use the » Mersenne Twister Random Number Generator instead of the libc rand function.

Приклади

Приклад #1 array_rand() example

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

Прогляньте також

To Top