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); // 輸出第二個班級中的學生 ?>
登錄后復制