常用PHP数组排序函数归纳


Posted in PHP onAugust 08, 2016

数组排序:数组中的元素能够以字母或数字顺序进行升序或降序排序。
常用的PHP数组排序函数
 •sort() - 以升序对数组排序
 •rsort() - 以降序对数组排序
 •asort() - 根据值,以升序对关联数组进行排序
 •ksort() - 根据键,以升序对关联数组进行排序
 •arsort() - 根据值,以降序对关联数组进行排序
 •krsort() - 根据键,以降序对关联数组进行排序 

举例:

sort()-以升序对数组排序

注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。
如果成功则返回true 失败返回 false
例如:

<?php
$arr1 = array('a', 'd', 'c', 'b');
$arr2 = array(1, 3, 2, 4);
print_r(sort($arr1) ? $arr1 : "排序失败");
echo "<br>";
print_r(sort($arr2) ? $arr2 : "排序失败");

运行结果为:
Array ( [0] => a [1] => b [2] => c [3] => d )
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

rsort()函数同理

asort()- 根据值,以升序对关联数组进行排序

asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。
如果成功则返回 TRUE,否则返回 FALSE。

<?php
$arr1 = array('a', 'd', 'c', 'b');
$arr2 = array(1, 3, 2, 4);
print_r(asort($arr1) ? $arr1 : "排序失败");
echo "<br>";
print_r(asort($arr2) ? $arr2 : "排序失败");

运行结果为:
Array ( [0] => a [3] => b [2] => c [1] => d )
Array ( [0] => 1 [2] => 2 [1] => 3 [3] => 4 )

arsort()函数同理

ksort() - 根据键,以升序对关联数组进行排序

ksort() 函数按照键名对数组排序,为数组值保留原来的键。
若成功,则返回 TRUE,否则返回 FALSE。

<?php
$arr1 = array(
  '3' => '第三个',
  '2' => '第二个',
  '4' => '第四个',
  '1' => '第一个',
);
print_r(ksort($arr1) ? $arr1 : "排序失败");

运行结果为:
Array ( [1] => 第一个 [2] => 第二个 [3] => 第三个 [4] => 第四个 )

krsort()函数同理

补充—array_multisort() 函数

array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。

注释:字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。

注释:您可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。

<?php
$a1=array("Dog","Dog","Cat");
$a2=array(3, 2, 5);
array_multisort($a1, SORT_ASC, $a2, SORT_DESC);
print_r($a1);
print_r($a2);

运行结果为:
Array ( [0] => Cat [1] => Dog [2] => Dog )
Array ( [0] => 5 [1] => 3 [2] => 2 )

常用PHP数组排序函数归纳

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
十天学会php(1)
Oct 09 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
必须收藏的php实用代码片段
Feb 02 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
Laravel学习教程之从入口到输出过程详解
Aug 27 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
PHP常见的几种攻击方式实例小结
Apr 29 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
浅谈php常用的7大框架的优缺点
Jul 20 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
Aug 08 #PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 #PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 #PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 #PHP
微信公众号开发之语音消息识别php代码
Aug 08 #PHP
PHP+JQuery+Ajax实现分页方法详解
Aug 06 #PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 #PHP
You might like
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
功能强大的php文件上传类
2016/08/29 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
vue.js从安装到搭建过程详解
2017/03/17 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
一张图带我们入门Python基础教程
2017/02/05 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
基于树莓派的语音对话机器人
2019/06/17 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
python怎么提高计算速度
2020/06/11 Python
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
群众路线教育实践活动调研报告
2014/11/03 职场文书
手机销售员岗位职责
2015/04/11 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
合同补充协议书
2016/03/24 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
vue 实现上传组件
2021/05/31 Vue.js