常用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编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
php curl模拟post提交数据示例
Dec 31 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
PHP strtotime函数用法、实现原理和源码分析
Feb 04 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
PHP实现重载的常用方法实例详解
Oct 18 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
php实现对文件压缩简单的方法
Sep 29 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
Mar 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
smarty实例教程
2006/11/19 PHP
php小偷相关截取函数备忘
2010/11/28 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
php实现socket推送技术的示例
2017/12/20 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
vue.js学习之UI组件开发教程
2017/07/03 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
ant design实现圈选功能
2019/12/17 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
董事长秘书岗位职责
2013/11/29 职场文书
工程专业毕业生自荐信范文
2013/12/25 职场文书
英语专业个人求职信范文
2014/02/01 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
交通事故被告答辩状
2015/05/22 职场文书
色戒观后感
2015/06/12 职场文书
JavaScript流程控制(循环)
2021/12/06 Javascript