shuffle

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

shuffleПеремешивает массив

Описание

shuffle(array &$array): true

Функция перемешивает элементы массива в случайном порядке.

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

Функция не создаёт безопасные для криптографических целей значения, поэтому функцию нельзя использовать в криптографических целях или ожидать возврата значения, которое невозможно угадать.

Безопасные для криптографических целей случайные последовательности создаёт композиция класса Random\Randomizer с движком Random\Engine\Secure. В простых сценариях пользуются функциями random_int() и random_bytes() с удобным и безопасным API-интерфейсом, который поддерживается безопасным для криптографических целей CSPRNG-генератором псевдослучайных чисел операционной системы.

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

Функция создаёт случайные последовательности через глобальный экземпляр генератора псевдослучайных чисел на основе алгоритма Mt19937 «Вихрь Мерсе́на» поэтому разделяет состояние с остальными функциями, которые генерируют случайности через глобальный генератор. Вызов каждой такой функции продвигает последовательность, независимо от области вызова.

Функция выдаст предсказуемые одинаковые последовательности, если инициализировать генератор псевдослучайных чисел функцией mt_srand() или srand() одним и тем же значением.

В новом коде случайные последовательности лучше генерировать через объект Random\Randomizer.

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

array

Массив.

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

Функция возвращает логическое значение true.

Список изменений

Версия Описание
7.1.0 Внутренний алгоритм генерации случайных чисел изменился с функции rand библиотеки libc на генератор на базе » Вихря Мерсе́на.

Примеры

Пример #1 Пример перемешивания массива функцией shuffle()

<?php

$numbers
= range(1, 20);
shuffle($numbers);
foreach (
$numbers as $number) {
echo
"$number ";
}

Примечания

Замечание: Функция присваивает новые ключи элементам массива, который передали в аргументе array. Функция удалит, а не просто переупорядочит ключи входного массива.

Замечание:

Функция сбрасывает внутренний указатель массива на первый элемент.

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