PHP shuffle():随机打乱数组

前面我们介绍了可以使用《array_rand() 函数》随机获取数组元素。在 PHP 中还有另一个函数,它能够将数组随机打乱,或者说它可以随机排序数组——shuffle() 函数。

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

shuffle($array)

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

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


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

【示例】使用 shuffle() 函数打乱数组顺序。

			
  1. <?php
  2. $info = array(
  3. 'id' => 1234,
  4. 'url' => 'http://c.biancheng.net/php/',
  5. 'language' => 'PHP',
  6. 'article' => 'shuffle()函数'
  7. );
  8. echo '<pre>';
  9. echo '数组打乱顺序前:';
  10. print_r($info);
  11. echo '数组打乱顺序后:';
  12. shuffle($info);
  13. print_r($info);
  14. ?>
运行结果如下:

数组打乱顺序前: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() 函数同样可以实现生成随机验证码的功能,示例代码如下:

			
  1. <?php
  2. function verCode(){
  3. $arr = array_merge(range('A','Z'), range('a', 'z'), range('1', '9'));
  4. shuffle($arr);
  5. $newArr = array_slice($arr, 0, 4);
  6. $str = implode('', $newArr);
  7. return $str;
  8. }
  9. echo verCode().'<br>';
  10. echo verCode().'<br>';
  11. echo verCode().'<br>';
  12. ?>
运行结果如下:

WLmj
ngqO
EolQ

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

 

浏览次数:  更新时间:2020-11-10 11:46:39  【关闭
上一条:PHP array_rand():随机获取数组元素  下一条:企业用网站进行网络宣传的优势

相关新闻

卓成网络语言选择:   English    Deutsch    中文繁体   русский   français   Español   Ελληνικά   日本人   अरबी   हिंदी   한국어    italiano   Tiếng Việt
Copyright © 2004 - 2029  जुओ चेंग-版权所有 | 投诉电话:+91 11 42500201
营销网站建设 定制网站开发  网站托管 出口公司网站建设 外贸网站建设 外贸soho网站建设 企业邮箱 深圳网站建设 孟买网站建设公司 荆州网站建设公司 宜昌网站建设 荆州企业建站 孟买网站建设 荆门网站建设 宜昌高端定制网站  宜昌企业邮箱 荆州企业邮箱 荆门企业邮箱 咸宁网站建设 武汉网站建设 广州网站建设 北京网站建设 随州网站建设 黄冈网站建设 宜昌外贸网站建设 香港网站建设 全国网站建设开发 广州网站建设 上海网站建设 杭州网站建设 西安网站建设 惠州网站建设 黄江网站建设 桂林网站建设 鸡西网站建设 郑州网站建设 澳门网站建设