加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP shuffle():随机打乱数组

发布时间:2020-12-13 17:59:29 所属栏目:PHP教程 来源:网络整理
导读:前面我们介绍了可以使用《array_rand() 函数》随机获取数组元素。在 PHP 中还有另一个函数,它能够将数组随机打乱,或者说它可以随机排序数组——shuffle() 函数。 shuffle() 函数不仅会将数组随机打乱,还会删除数组原有的键名,并重新建立新的键名,函数的
前面我们介绍了可以使用《array_rand() 函数》随机获取数组元素。在 PHP 中还有另一个函数,它能够将数组随机打乱,或者说它可以随机排序数组——shuffle() 函数。

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

shuffle($array)

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

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

与数组排序相关的函数
函数 说明
sort() 对数组元素进行升序排序(从小到大)。
rsort() 对数组元素进行降序排序(从大到小)。
asort() 对数组元素进行升序排序(从小到大),并保持索引关系。
arsort() 对数组元素进行降序排序(从大到小),并保持索引关系。
shuffle() 对数组元素进行随机排序,也就是随机打乱数组。

【示例】使用 shuffle() 函数打乱数组顺序。
<?php
    $info = array(
        'id'       => 1234,'url'      => 'http://c.biancheng.net/php/','language' => 'PHP','article'  => 'shuffle()函数'
    );
    echo '<pre>';
    echo '数组打乱顺序前:';
    print_r($info);
    echo '数组打乱顺序后:';
    shuffle($info);
    print_r($info);
?>
运行结果如下:

数组打乱顺序前:Array
(
??? [id] => 1234
??? [url] => http://c.biancheng.net/php/
??? [language] => PHP
??? [article] => shuffle()函数
)
数组打乱顺序后:Array
(
??? [0] => http://c.biancheng.net/php/
??? [1] => PHP
??? [2] => shuffle()函数
??? [3] => 1234
)

与 array_rand() 函数类似,使用 shuffle() 函数同样可以实现生成随机验证码的功能,示例代码如下:
<?php
    function verCode(){
        $arr    = array_merge(range('A','Z'),range('a','z'),range('1','9'));
        shuffle($arr);
        $newArr = array_slice($arr,4);
        $str    = implode('',$newArr);
        return $str;
    }
    echo verCode().'<br>';
    echo verCode().'<br>';
    echo verCode().'<br>';
?>
运行结果如下:

WLmj
ngqO
EolQ

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读