您现在的位置是:群英 > 开发技术 > PHP语言
PHP中数组升序排列和随机排序怎样实现呢
Admin发表于 2022-09-02 17:59:21742 次浏览
这篇文章分享给大家的内容是关于PHP中数组升序排列和随机排序怎样实现呢,本文介绍得很详细,内容很有参考价值,希望可以帮到有需要的小伙伴,接下来就让小编带领大家一起了解看看吧。

在上一篇文章中我们了解了想要获取数组中所有的元素名需要通过array_keys函数来实现,想要转换数组键名的大小写需要通过array_change_key_case函数来进行操作。这都是属于数组操作的一部分,我们之前在《怎样去给PHP数组进行排序(图文详解)》中简单的介绍了一些。

在PHP中怎样才能对多个数组进行排序?有怎样随机的对数组进行随机排序呢?在PHP中有内置的array_multisort函数与shuffle函数能够对数组进行升序排列和随机排序,下面我们一起来看一下吧。

array_multisort函数-对多个数组进行排序

在PHP中array_multisort函数能够输入一个或者多个数组,函数会先给第一个数组排序,然后接着对下一组进行排序。array_multisort函数的基本语法格式如下:

array_multisort(array1,sorting order,sorting type,array2,array3...)

其中需要注意的是:

参数array1是必须要有的,是要进行排序的数组,参数array2、3是可选的,也是要进行排序的数组。参数sorting order也是一个可选的参数,在默认的情况下参数表示的是SORT_ASC,表示的是数组排序是升序,当单数sorting order为SORT_DESC的时候,表示的是按降序排列。

参数sorting type也是一个可选参数,默认情况下的值为SORT_REGULAR表示的是,数组排序按照常规顺序排列。当参数的值为SORT_NUMERIC 的时候表示的是将数组中的元素当做数字来进行处理。当参数的值为SORT_STRING表示的是将数组中的元素当做字符串来进行处理。当参数的值为SORT_LOCALE_STRING表示的是一颗通过setlocale函数来进行更改的作为字符串处理。当参数的值为SORT_NATURAL表示的是类似 natsort() 的自然排序。

使用array_multisort函数对字符串进行排序,键名为字符串的元素,键名会保留,但是键名为数字的会被重新索引。这个索引规则还是一样的。

如果排序成功的话,返回的结果是true;如果排序失败,返回的结果是false

下面我们通过示例来看一下array_multisort函数的基本用法,示例如下:

<?php
$a1=array("Dog","Cat");
$a2=array("Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo '<br/>';
print_r($a2);
?>

输出结果:

上述示例中,返回的结果是进行了升序的排序,下面我们来看一下,当两个值相同的时候,输出结果会有什么变化,示例如下:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo '<br/>';
print_r($a2);
?>

输出结果:

上述示例中,当数组中的两个元素都相同的时候,并不会被覆盖,而是键名不同重新排序。

下面我们在来看一个综合的实例,当我们合并两个数组并且按照降序进行排列,输出结果会发生什么变化,示例如下:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>

输出结果:

上述中我们通过array_multisort函数能够对数组元素进行排序,下面我们来介绍一下shuffle函数。它能够将数组打乱。

shuffle函数-重新排序数组

在PHP中既然有函数能够将数组元素进行有序的排序,那同样的也有办法能够将数组进行重新排序,也就是将数组打乱。shuffle函数的基本语法结构如下:

shuffle(array)

其中参数array就是需要进行重新排序的数组,shuffle() 函数把数组中的元素按随机顺序重新排列。数组中原来的键名会被删除,新的数组会有新的键名。

函数如果排序成功,返回的结果是true,如果失败,返回的结果是flase

下面我们通过示例来看一下shuffle函数的使用,示例如下:

<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>

输出结果:

上述示例中,通过shuffle函数将数组进行重新排列,并且每执行一次数组的排列顺序就会改变。


通过以上内容的阐述,相信大家对“PHP中数组升序排列和随机排序怎样实现呢”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: PHP数组排序
相关信息推荐
2022-01-07 18:31:06 
摘要:这篇文章我们来了解PHP中如何修改id元素的内容的反感,想要替换或是修改id元素的内容并不难,这里我们使用str_replace()方法就能实现,下文有示例代码供大家参考,有需要的朋友可以了解看看,希望对大家学习PHP有帮助。
2021-11-22 17:53:53 
摘要:这篇文章给大家分享的是python中数据结构的基础内容。小编觉得挺实用的,对大家学习Python有一定的帮助,因此分享给大家做个参考,文中介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
2022-06-16 17:03:17 
摘要:下面由golang教程​栏目给大家介绍gin框架的优势,希望对需要的朋友有所帮助!利用函数调用栈后进先出的特点,巧妙的完成中间件在自定义处理函数完成的后处理的操作。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部