shuffle() 用于随机打乱数组顺序,原数组被直接修改且键名重置为数字索引,成功返回 true,失败返回 false,仅适用于索引数组,常用于抽奖或随机推荐场景。

shuffle() 是 PHP 中用于随机打乱数组元素顺序的内置函数。它会将原数组的元素重新排列,并返回一个布尔值表示是否操作成功。
基本语法
bool shuffle ( array &$array )- 参数 $array 是要被打乱的数组,且必须是引用传递(加 &)
- 打乱成功返回 true,失败返回 false
- 原数组会被直接修改,函数不会返回新的数组
使用示例
以下是一个简单的使用例子:
shuffle($fruits);
print_r($fruits);
输出结果可能是(每次运行顺序都可能不同):
Array(
[0] => grape
[1] => apple
[2] => banana
[3] => orange
)
注意事项
- 只能用于索引数组,关联数组的键名会被重置为从 0 开始的数字索引
- 该函数会破坏原有的键值关系
- 如果需要保留原始数组,应先用 array_values() 复制一份再打乱
- 底层使用系统随机数生成器,不支持设置种子(如需可预测结果,需自行实现算法)











