Как перемешать массив
Короткий ответ
shuffle() перемешивает массив на месте:
<?php
$cards = ['A', 'K', 'Q', 'J'];
shuffle($cards);
echo implode(' ', $cards);Сохранить ключи
shuffle() теряет ключи. Чтобы сохранить их, перемешайте ключи и соберите массив заново:
<?php
$prices = ['tea' => 250, 'coffee' => 400, 'juice' => 180];
$keys = array_keys($prices);
shuffle($keys);
$shuffled = [];
foreach ($keys as $key) {
$shuffled[$key] = $prices[$key];
}
echo json_encode($shuffled);Несколько случайных элементов
array_rand() возвращает случайные ключи:
<?php
$winners = ['Anna', 'Oleg', 'Ivan', 'Maria', 'Petr'];
foreach (array_rand($winners, 2) as $key) {
echo $winners[$key], ' ';
}Функции из этого ответа
- shuffle — Перемешивает элементы массива в случайном порядке.
- array_rand — Возвращает случайный ключ массива.
- random_int — Возвращает случайное целое число из диапазона.