常用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实现无限级分类实现代码(递归方法)
Jan 01 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
php中socket通信机制实例详解
Jan 03 PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
php实现Session存储到Redis
Nov 11 PHP
php事件驱动化设计详解
Nov 10 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
Mar 08 PHP
laravel-admin自动生成模块,及相关基础配置方法
Oct 08 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 PHP
Yii 框架使用Forms操作详解
May 18 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
phpmail类发送邮件函数代码
2012/02/20 PHP
深入php之规范编程命名小结
2013/05/15 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
详解PHP PDO简单教程
2019/05/28 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
页面中js执行顺序
2009/11/09 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
学前教育学生自荐信范文
2013/12/31 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
郭明义电影观后感
2015/06/08 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android