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视频教程
最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!
相关阅读 更多
-
Linux常用命令awk的用法 grep、awk、sed三者的区别 时间:2025-09-09
-
C++中命名空间的定义、使用、作用、类型、和类的区别 时间:2025-09-09
-
batchplot插件用法 batchplot插件安装教程 时间:2025-09-09
-
%s在c语言中含义和用法 %s和其他格式化符号的区别 时间:2025-09-09
-
%s在python中含义和用法 %s和其他格式化符号的区别 时间:2025-09-09
-
计算机MAR代表什么 MAR和MDR的区别 时间:2025-09-09
今日更新
-
瞳孔地震是什么梗?揭秘网络热词背后的爆笑瞬间!
阅读:18
-
统一六国的梗是什么梗?揭秘秦始皇爆笑网络热梗背后的真相!
阅读:18
-
捅西瓜梗是网络流行语,源自搞笑视频中夸张捅西瓜动作,暗指用极端方式解决问题,幽默又带讽刺意味。
阅读:18
-
怪兽八号手游核爆配队详解-适用所有主C
阅读:18
-
逆水寒手游十月版本前瞻-航母联动特色逆水杀曝光
阅读:18
-
女神异闻录:夜幕魅影P5X-片山久未技能简读搭配推荐
阅读:18
-
时空绘旅人幕叙心事活动预告-可获得罗夏CR独白等奖励
阅读:18
-
桶是什么梗?揭秘网络热词桶的搞笑来源和流行用法,看完秒懂!
阅读:18
-
CF手游MK5哪吒怎么样-MK5哪吒武器前瞻
阅读:18
-
恋与深空限定喵呜币额外掉落-秋游喵喵系列徽章上新
阅读:18