php 数组排序

本文详细介绍了PHP中多种数组排序的方法,包括sort(), asort(), arsort(), ksort(), krsort(), natcasesort(), natsort(), uasort(), uksort(), 和 usort()等函数的使用及语法说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP 数组排序

昨天刚和同事打电话聊了好久,发现我对于知识的了解还不足,他问我关于数组排序的问题,还有好几个问题,我也是一知半解的,所以觉得"好记性不如烂笔头",把每天学的记载下来与大家分享:

                

sort() 函数按升序对给定数组的值排序。

注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。

如果成功则返回 TRUE,否则返回 FALSE。

语法

sort(array,sorttype)

 

参数描述
array必需。输入的数组。
sorttype

可选。规定如何排列数组的值。可能的值:

  • SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
  • SORT_NUMERIC - 把值作为数字来处理
  • SORT_STRING - 把值作为字符串来处理
  • SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*

 

arsort() 函数对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

可选的第二个参数包含了附加的排序标识。

如果成功则返回 TRUE,否则返回 FALSE。

语法

arsort(array,sorttype)

 

参数描述
array必需。输入的数组。
sorttype

可选。规定如何排列数组的值。可能的值:

  • SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
  • SORT_NUMERIC - 把值作为数字来处理
  • SORT_STRING - 把值作为字符串来处理
  • SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*

 

asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

可选的第二个参数包含了附加的排序标识。

如果成功则返回 TRUE,否则返回 FALSE。

语法

asort(array,sorttype)

 

参数描述
array必需。输入的数组。
sorttype

可选。规定如何排列数组的值。可能的值:

  • SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
  • SORT_NUMERIC - 把值作为数字来处理
  • SORT_STRING - 把值作为字符串来处理
  • SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*

 

 

krsort() 函数将数组按照键逆向排序,为数组值保留原来的键。

可选的第二个参数包含附加的排序标志。

若成功,则返回 TRUE,否则返回 FALSE。

语法

krsort(array,sorttype)

 

参数描述
array必需。规定要排序的数组。
sorttype

可选。规定如何排列数组的值。可能的值:

  • SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
  • SORT_NUMERIC - 把值作为数字来处理
  • SORT_STRING - 把值作为字符串来处理
  • SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*

 

ksort() 函数按照键名对数组排序,为数组值保留原来的键。

可选的第二个参数包含附加的排序标志。

若成功,则返回 TRUE,否则返回 FALSE。

语法

ksort(array,sorttype)

 

参数描述
array必需。规定要排序的数组。
sorttype

可选。规定如何排列数组的值。可能的值:

  • SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
  • SORT_NUMERIC - 把值作为数字来处理
  • SORT_STRING - 把值作为字符串来处理
  • SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*

 

natcasesort() 函数用不区分大小写的自然顺序算法对给定数组中的元素排序。

natcasesort() 函数实现了“自然排序”,即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先,该函数不区分大小写。数组的索引与单元值保持关联。

如果成功,则该函数返回 TRUE,否则返回 FALSE。

语法

natcasesort(array)

 

参数描述
array必需。规定要进行排序的数组。

 

natsort() 函数用自然顺序算法对给定数组中的元素排序。

natsort() 函数实现了“自然排序”,即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先。数组的索引与单元值保持关联。

如果成功,则该函数返回 TRUE,否则返回 FALSE。

语法

natsort(array)

 

参数描述
array必需。规定要进行排序的数组。

 

uasort() 函数使用用户自定义的比较函数对数组排序,并保持索引关联(不为元素分配新的键)。

如果成功则返回 TRUE,否则返回 FALSE。

该函数主要用于对那些单元顺序很重要的结合数组进行排序。

语法

uasort(array,sorttype)

 

参数描述
array必需。规定要排序的数组。
function

必需。用户自定义的函数。

函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:

  • 如果 a = b, 返回 0
  • 如果 a < b, 返回 1
  • 如果 a > b, 返回 -1

 

uksort() 函数使用用户自定义的比较函数按照键名对数组排序,并保持索引关系。

如果成功则返回 TRUE,否则返回 FALSE。

如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。

自定义函数应接受两个参数,该参数将被数组中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

语法

uksort(array,sorttype)

 

参数描述
array必需。规定要排序的数组。
function

必需。用户自定义的函数。

函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:

  • 如果 a = b, 返回 0
  • 如果 a > b, 返回 1
  • 如果 a < b, 返回 -1

 

usort() 函数使用用户自定义的函数对数组排序。

注释:如果两个元素比较结果相同,则它们在排序后的数组中的顺序未经定义。到 PHP 4.0.6 之前,用户自定义函数将保留这些元素的原有顺序。但是由于在 4.1.0 中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案。

注释:本函数为 array 中的元素赋予新的键名。这会删除原有的键名。

语法

usort(array,sorttype)

 

参数描述
array必需。规定要排序的数组。
function

必需。用户自定义的函数。

函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:

  • 如果 a = b, 返回 0
  • 如果 a > b, 返回 1
  • 如果 a < b, 返回 -1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值