常用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 相关文章推荐
新版mysql+apache+php Linux安装指南
Oct 09 PHP
PHP新手入门学习方法
May 08 PHP
PHP 时间日期操作实战
Aug 26 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
PHP中ini_set和ini_get函数的用法小结
Feb 18 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
学习php设计模式 php实现桥梁模式(bridge)
Dec 07 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
Laravel5.4框架中视图共享数据的方法详解
Sep 05 PHP
详解Laravel制作API接口
May 31 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
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
jquery插件之easing使用
2010/08/19 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
从零学Python之入门(四)运算
2014/05/27 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
python 容器总结整理
2017/04/04 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
Python之字典对象的几种创建方法
2020/09/30 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
linux面试题参考答案(8)
2016/04/19 面试题
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
高三自我评价
2014/02/01 职场文书
班班通项目实施方案
2014/02/25 职场文书
低碳生活的宣传标语
2014/06/23 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
Python并发编程实例教程之线程的玩法
2021/06/20 Python
MySQL三种方式实现递归查询
2022/04/18 MySQL