Функция shuffle() в PHP
Узнайте, как функция shuffle() в PHP случайным образом перемешивает элементы массива на месте, с примерами использования.
Добро пожаловать в наше подробное руководство по функции PHP shuffle. В этой статье мы объясним, что делает функция shuffle, как она работает, и приведём практические примеры её использования в ваших PHP-проектах.
Функция shuffle в PHP — это встроенная функция, которая перемешивает элементы массива случайным образом. Она изменяет исходный массив непосредственно и возвращает булево значение (true при успехе, false при ошибке).
Функция shuffle работает, переставляя элементы массива в случайном порядке. Для обеспечения равной вероятности каждой перестановки используется генератор случайных чисел PHP.
Вот синтаксис функции shuffle:
shuffle(array &$array): bool // Note: array type hint requires PHP 8.0+Параметр $array передаётся по ссылке, то есть исходный массив изменяется напрямую. Функция возвращает true при успехе или false при ошибке.
Примечание: в PHP 8.1+ передача значения, не являющегося массивом, в shuffle() вызывает предупреждение об устаревании.
Рассмотрим практические примеры использования функции shuffle в PHP.
Пример 1: Перемешивание массива чисел
Пример перемешивания массива чисел в PHP
Вывод:
Array
(
[0] => 5
[1] => 1
[2] => 4
[3] => 3
[4] => 2
)Пример 2: Перемешивание массива строк
Пример перемешивания массива строк в PHP
Вывод:
Array
(
[0] => kiwi
[1] => banana
[2] => grape
[3] => apple
[4] => orange
)Пример 3: Перемешивание ассоциативного массива
Пример перемешивания ассоциативного массива в PHP
Обратите внимание, что shuffle() всегда переиндексирует массивы в последовательные числовые ключи, уничтожая все существующие строковые ключи. Чтобы сохранить ассоциативные ключи, необходимо вручную перемешивать ключи, как показано ниже.
<?php
$person = ["name" => "John", "age" => 30, "city" => "New York"];
// Shuffle the keys of the array
$keys = array_keys($person);
shuffle($keys);
// Create a new array with the shuffled keys
$shuffled_person = [];
foreach ($keys as $key) {
$shuffled_person[$key] = $person[$key];
}
print_r($shuffled_person);Вывод:
Array
(
[city] => New York
[age] => 30
[name] => John
)В этой статье мы объяснили, что такое функция shuffle, как она работает, и привели практические примеры её использования в ваших PHP-проектах. Надеемся, что это руководство оказалось полезным, и теперь вы сможете уверенно использовать функцию shuffle.
Диаграмма:
graph TD
A((array)) --input--> B(shuffle)
B --output--> C((modified array))Спасибо за прочтение нашего руководства по функции shuffle() в PHP. Если у вас есть вопросы или пожелания, не стесняйтесь обращаться к нам.