常用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语法(2)
Oct 09 PHP
再次研究下cache_lite
Feb 14 PHP
php 3行代码的分页算法(求起始页和结束页)
Oct 21 PHP
php max_execution_time执行时间问题
Jul 17 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
如何使用微信公众平台开发模式实现多客服
Jan 06 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
PHP实现简易blog的制作
Oct 24 PHP
php preg_match的匹配不同国家语言实例
Dec 29 PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 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
检测png图片是否完整的php代码
2010/09/06 PHP
EasyUI中的tree用法介绍
2011/11/01 Javascript
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
js判断空对象的实例(超简单)
2016/07/26 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
Python中编写ORM框架的入门指引
2015/04/29 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
Python实现分数序列求和
2020/02/25 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
办公室副主任岗位职责
2013/11/25 职场文书
即兴演讲稿
2014/01/04 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
公司授权委托书
2014/10/17 职场文书
单位实习工作证明怎么写
2014/11/02 职场文书
综合管理员岗位职责
2015/02/11 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
python源码剖析之PyObject详解
2021/05/18 Python