PHP数组学习之随机排序,打乱数组元素

PHP数组学习之随机排序,打乱数组元素,第1张

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

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

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

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

<?PHPheader("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数组即可。

我们来看看实现代码:

<?PHPheader("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数组函数视频讲解,快来学习吧! 总结

以上是内存溢出为你收集整理的PHP数组学习之随机排序,打乱数组元素全部内容,希望文章能够帮你解决PHP数组学习之随机排序,打乱数组元素所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1152406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存