PHP 数组排序函数sort,rsort,ksort,krsort,asort,arsort区别
一、概念:
1、自然排序法:即按自然数的大小排序,例如“10>2”;
2、计算机标准排序法:是以逐个字符比较,排序,例如“2>10”(因为第一位2>1);
3、数值数组:带有数字 ID 键的数组;
4、关联数组:带有指定的键的数组,每个键关联一个值。
5、默认的排序为按键值升序排序,排序方式为自然排序。
二、【帮助理解】
1、a(association)前缀表示以键值关联排序;
2、k(key)前缀表示以键名关联排序;
3、r(reverse)前缀表示以反方向排序。
三、排序
例子:
1 $arr = array("Ben"=>"2","peter"=>"10","Joe"=>"30"); 2 echo "-------------echo array-------------<br>"; 3 foreach ($arr as $key => $value) { 4 # code... 5 echo "key= ".$key.",value= ".$value."<br>"; 6 }
1、排序数值数组:
1)、sort:默认的排序,即按键值升序排序,因为该函数用于排序一维数组,所有排序出来的键名会被重新规定,关联数组用此方法排序,则关联数组的键名不被保留,换成的是数字键。
2)、rsort:该函数与sort函数用法类似,不同的是按键值逆序排序。
1 echo "-------------sorts by sort-------------<br>"; 2 sort($arr); 3 foreach ($arr as $key => $value) { 4 # code... 5 echo "key= ".$key.",value= ".$value."<br>"; 6 } 7 8 echo "-------------sorts by rsort-------------<br>"; 9 rsort($arr); 10 foreach ($arr as $key => $value) { 11 # code... 12 echo "key= ".$key.",value= ".$value."<br>"; 13 }
输出结果:
-------------echo array-------------
key= Ben,value= 2
key= peter,value= 10
key= Joe,value= 30
-------------sorts by sort-------------
key= 0,value= 2
key= 1,value= 10
key= 2,value= 30
-------------sorts by rsort-------------
key= 0,value= 30
key= 1,value= 10
key= 2,value= 2
2、排序关联数组:
关联数组的排序有两种排序项,第一种以数组的键名排序,第二种以数组的键值排序。
按键名排序:
1)、ksort:按关联数组的键名升序排序,排序的结果保留键值的关联关系。
2)、krsort:按关联数组的键名逆序排序,排序的结果保留键值的关联关系。
1 echo "-------------sorts by ksort--------------<br>"; 2 ksort($arr); 3 foreach ($arr as $key => $value) { 4 # code... 5 echo "key= ".$key.",value= ".$value."<br>"; 6 } 7 8 echo "-------------sorts by krsort-------------<br>"; 9 krsort($arr); 10 foreach ($arr as $key => $value) { 11 # code... 12 echo "key= ".$key.",value= ".$value."<br>"; 13 }
输出结果:
-------------echo array-------------
key= Ben,value= 2
key= peter,value= 10
key= Joe,value= 30
-------------sorts by ksort--------------
key= Ben,value= 2
key= Joe,value= 30
key= peter,value= 10
-------------sorts by krsort-------------
key= peter,value= 10
key= Joe,value= 30
key= Ben,value= 2
按键值排序:
1)、asort:按关联数组的键值升序排序,排序的结果保留键值的关联关系
2)、arsort:按关联数组的键值逆序排序,排序的结果保留键值的关联关系。
1 echo "-------------sorts by asort-------------<br>"; 2 asort($arr); 3 foreach ($arr as $key => $value) { 4 # code... 5 echo "key= ".$key.",value= ".$value."<br>"; 6 } 7 8 echo "-------------sorts by arsort-------------<br>"; 9 arsort($arr); 10 foreach ($arr as $key => $value) { 11 # code... 12 echo "key= ".$key.",value= ".$value."<br>"; 13 }
输出结果:
-------------echo array-------------
key= Ben,value= 2
key= peter,value= 10
key= Joe,value= 30
-------------sorts by asort-------------
key= Ben,value= 2
key= peter,value= 10
key= Joe,value= 30
-------------sorts by arsort-------------
key= Joe,value= 30
key= peter,value= 10
key= Ben,value= 2
转载于:https://www.cnblogs.com/TimeStory/p/4201385.html
PHP 数组排序函数sort,rsort,ksort,krsort,asort,arsort区别相关推荐
- Js数组排序函数sort()介绍
JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. sort() 方法用于对数组的元素进行排序.语法如下: arrayObject.sort ...
- JavaScript 数组排序函数sort()的使用
简介 sort()方法是js中对于数组进行排序的函数.其可以方便快捷的实现对于数组的排序而不用我们自己编写排序方法.注:sort()函数会直接改变原数组. 1.纯字符串数组排序 let myArr ...
- Js数组排序函数:sort()
原文链接:https://blog.csdn.net/qq_37936542/article/details/78979521 js原生的 sort() 排序函数使用起来很方便 语法:arrayObj ...
- 深入探讨JS中的数组排序函数sort()和reverse()
最近在研究Javascript发现了其中一些比较灵异的事情.有点让人感到无语比如: alert(typeof( NaN == NaN));//结果为假. alert(typeof( NaN != Na ...
- php的数组排列函数,常用PHP数组排序函数归纳
数组排序:数组中的元素能够以字母或数字顺序进行升序或降序排序. 常用的PHP数组排序函数 •sort() - 以升序对数组排序 •rsort() - 以降序对数组排序 •asort() - 根据值,以 ...
- php key sort,PHP中的sort(), rsort(),asort(),arsort(),ksort(),krsort()函数
在PHP中自带了大量的数组排序函数. | 函数名 | 函数意义 | | --------- |:-------------- : | ------- :| |sort()函数 | 对数组单元从低到高进 ...
- PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系. arsort() 函数用于 ...
- php中asort 排序语句,php中的几个经典排序函数(sort,asort,ksort等)
1 2 3 4 5 6 7 8sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系 ...
- php的数组排序方法,PHP数组排序函数
在使用 PHP 进行编程时,有时需要对数组进行排序,通常我们使用的对数组进行排序的方法有冒泡排序.快速排序等等. 我们除了可以自定义一些数组排序的函数外,PHP 还内置了多种对数组进行排序的函数,这些 ...
最新文章
- RHCS创建高可用性群集Apache服务器
- python金融代码_Python2爬虫代码之获取金融品种行情数据
- 计算机基础学习必看书籍汇总
- 从书上截取一段TCP三次握手和四次挥手
- python连接中控考勤机分析数据
- oracle 日期6,EF 6与Oracle - 如何加入日期字段?
- LVS--NAT模型配置
- 超硬核!躺进BAT以后我总结了出现最多的15道数组题
- Hello Android
- 计算机主机箱拆箱,开箱 篇一:拆戴尔3681 SFF 10代小主机
- 【幽默】工作搞不好的原因
- redis,memcache,mongodb对比
- Linux系统如何创建和挂载XFS文件系统
- redis中数据的持久化
- 网络安全相关证书有哪些?
- 万娟 白话大数据和机械学习_白话大数据与机器学习 (高扬著) 带书签目录 完整pdf扫描版[71MB]...
- 2018年sfdc工作总结_前端绑数据 前端定义勿用驼峰命名法
- vue项目性能优化(图片优化)
- 《名侦探柯南》中的“IoT恐袭”
- OpenCV基础(7)OpenCV中的颜色空间
热门文章
- 如果你不够优秀,人脉是不值钱的
- 什么样的人才容易被骗?
- 952开头的电话一天响两三次,不是诈骗就是推销,请问该怎么屏蔽呢?
- 解决Error: VM Exception while processing transaction: revert
- go Mutex (互斥锁)和RWMutex(读写锁)
- go net/http包
- Qt4_坐标系统变换
- CREATE VIEW SQL:通过SQL Server中的视图插入数据
- azure云数据库_Azure Data Studio中Windows的数据库管理工具扩展
- [NOIp2016]天天爱跑步 线段树合并