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); // 输出第二个班级中的学生
?>