综合百科

php中shuffle是什么意思

在php中,shuffle的中文意思为“洗牌”,该函数可以会将数组随机打乱,把数组中的元素按随机顺序重新排列,语法格式“shuffle(array)”。shuffle()函数会为数组中的元素分配新的键名,已存在的键名将被删除。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

shuffle() 函数把数组中的元素按随机顺序重新排列。

shuffle() 函数不仅会将数组随机打乱,还会删除数组原有的键名,并重新建立新的键名,函数的语法格式如下:

shuffle(array)

其中 array 为待操作的数组。函数运行成功时会返回 TRUE,运行失败则返回 FALSE。

提示:shuffle() 函数只对数组的第一维度适用,对于多维数组中第一维度之外的维度则无效。

示例:使用 shuffle() 函数打乱数组顺序

<?phpheader("Content-type:text/html;charset=utf-8");$info=array('颜色1'=>'红色','颜色2'=>'黄色','颜色3'=>'蓝色','颜色4'=>'紫色');echo'<pre>';echo'数组打乱顺序前:';print_r($info);echo'数组打乱顺序后:';shuffle($info);print_r($info);?>

输出:

数组打乱顺序前:Array([颜色1]=>红色[颜色2]=>黄色[颜色3]=>蓝色[颜色4]=>紫色)数组打乱顺序后:Array([0]=>蓝色[1]=>红色[2]=>黄色[3]=>紫色)

与 array_rand() 函数类似,使用 shuffle() 函数同样可以实现生成随机验证码的功能,示例代码如下:

<?phpfunctionverCode(){$arr=array_merge(range('A','Z'),range('a','z'),range('1','9'));shuffle($arr);$newArr=array_slice($arr,0,4);$str=implode('',$newArr);return$str;}echoverCode().'<br>';echoverCode().'<br>';echoverCode().'<br>';?>

运行结果如下:

WLmjngqOEolQ

注意:因为 shuffle() 函数是随机将数组打乱,所以每次执行的结果会不一样。