Функция shuffle() в PHP
Добро пожаловать в наше подробное руководство по функции shuffle в PHP. В этой статье мы объясним, что делает функция 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
<?php
$numbers = [1, 2, 3, 4, 5];
shuffle($numbers);
print_r($numbers);Вывод:
Array
(
[0] => 5
[1] => 1
[2] => 4
[3] => 3
[4] => 2
)Пример 2: Перемешивание массива строк
Пример перемешивания массива строк в PHP
<?php
$fruits = ["apple", "banana", "orange", "kiwi", "grape"];
shuffle($fruits);
print_r($fruits);Вывод:
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.
Схема:
Спасибо за чтение нашего руководства по функции shuffle() в PHP. Если у вас есть вопросы или отзывы, пожалуйста, не стесняйтесь обращаться к нам.
Практика
Какова цель функции shuffle() в PHP?