php 中有以下函數可以隨機洗牌數組:shuffle() 直接改變數組元素順序。array_rand() 返回隨機鍵,可根據鍵重新排列數組順序。
PHP 中隨機洗牌數組的函數
在 PHP 中,有幾個函數可以用來隨機洗牌數組,使其元素的順序發生變化。這些函數包括:
1. shuffle()
shuffle() 函數直接對傳入的數組進行洗牌,改變其內部元素的順序。
<?php $arr = [1, 2, 3, 4, 5]; shuffle($arr); print_r($arr); // 輸出洗牌后的數組 ?>
登錄后復制
2. array_rand()
array_rand() 函數會返回數組中指定數量的隨機鍵,根據這些鍵可以重新排列數組順序。
<?php
$arr = [1, 2, 3, 4, 5];
$keys = array_rand($arr, 3); // 隨機返回 3 個鍵
$sortedArr = [];
foreach ($keys as $key) {
$sortedArr[] = $arr[$key];
}
print_r($sortedArr); // 輸出重新排列后的數組
?>
登錄后復制
實戰案例:
假設你有一個學生姓名列表,需要隨機分配到不同的班級。可以使用以下代碼:
<?php $students = ['John', 'Mary', 'Bob', 'Alice', 'Tom']; shuffle($students); // 將學生分成 2 個班級 $class1 = array_slice($students, 0, 3); $class2 = array_slice($students, 3); print_r($class1); // 輸出第一個班級中的學生 print_r($class2); // 輸出第二個班級中的學生 ?>
登錄后復制






