Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как перемешать массив

Короткий ответ

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 — Возвращает случайное целое число из диапазона.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.