Функция shuffle()в PHP используется для случайного изменения порядка элементов в массиве. Вот несколько методов, которые можно использовать для перетасовки массива с помощью функции shuffle()в PHP:
Метод 1: использование функции shuffle():
$array = [1, 2, 3, 4, 5];
shuffle($array);
print_r($array);
Метод 2. Использование специального алгоритма перемешивания:
function customShuffle(&$array) {
$totalElements = count($array);
for ($i = $totalElements - 1; $i > 0; $i--) {
$j = random_int(0, $i);
[$array[$i], $array[$j]] = [$array[$j], $array[$i]];
}
}
$array = [1, 2, 3, 4, 5];
customShuffle($array);
print_r($array);
Метод 3. Использование функции array_rand():
$array = [1, 2, 3, 4, 5];
$keys = array_rand($array, count($array));
$shuffledArray = [];
foreach ($keys as $key) {
$shuffledArray[] = $array[$key];
}
print_r($shuffledArray);
Метод 4. Использование функции usort()с собственной функцией сравнения:
function compareRandom() {
return rand(-1, 1);
}
$array = [1, 2, 3, 4, 5];
usort($array, 'compareRandom');
print_r($array);
Метод 5: использование функции array_multisort()с функцией array_rand():
$array = [1, 2, 3, 4, 5];
array_multisort(array_rand($array, count($array)), $array);
print_r($array);