在上一篇的文章中我们介绍了数组元素进行降序排序的方法,感兴趣的可以点击链接查阅→《PHP数组学习之巧用数组函数对数组进行降序排序!》。那么如何不想按一定的规则来升序或降序排序,而只是想要破坏原有顺序,打乱数组元素,这要怎么操作呢?

今天我们就来学习一下PHP数组如何进行随机排序,如何随机打乱数组元素。

那么要怎么操作呢?其实很简单,直接使用内置函数shuffle()即可实现。shuffle()函数会把数组中的元素按随机顺序重新排列。

下面我们就来通过代码实例来看看shuffle()函数怎么随机打乱数组。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
shuffle($arr1);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
shuffle($arr2);
var_dump($arr2);
?>

输出结果:

1.png

刷新一下,结果就改变了:

2.png

3.png

说明:shuffle()函数不仅会将数组随机打乱,还会删除数组中原有的键名,并为其赋与新的数值键名(即不会保持索引关系)。

如果想要保留键名的随机打乱数组,可以借助array_keys()函数。

思路:使用array_keys()函数获取原数组$arr的所有键名,会返回包含数组中所有键名的一个新数组$key。然后使用shuffle()函数随机打乱这个$key数组。最后使用foreach循环遍历$key数组,根据$key数组的值,获取$arr数组的键值对,并一一赋值给$arr2数组即可。

我们来看看实现代码:

<?php
header("Content-type:text/html;charset=utf-8");
$arr =array("香蕉","苹果","梨子","橙子","橘子","榴莲");
var_dump($arr);

if (!empty($arr)) {
    $key =array_keys($arr);
    shuffle($key);
    foreach ($key as $value) {
      $arr2[$value] =$arr[$value];
    }
    $arr =$arr2;
}
echo "随机打乱数组:";
var_dump($arr);
?>

输出结果:

4.png

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →PHP函数之array数组函数视频讲解,快来学习吧!

以上就是PHP数组学习之随机排序,打乱数组元素的详细内容,更多请关注亿码酷站其它相关文章!


PHP数组学习之随机排序,打乱数组元素
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!