这篇文章主要介绍“PHP怎么打乱数组元素”,在日常操作中,相信很多人在PHP怎么打乱数组元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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); ?>
输出结果:
刷新一下,结果就改变了:
说明: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); ?>
输出结果:
到此,关于“PHP怎么打乱数组元素”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。