php 数组按键名进行排序的方法

180it 2021-05-18 PM 828℃ 0条

今天来和大家说一说在 php 中,按键名对数组进行排序的方法。关于对数组按键名进行排序,我们要用到 php 的内置的数组相关的函数 ksort() 与 krsort(),下面就来详细的说一下这两个函数的具体作用与用法。

php ksort() 函数
ksort():函数对指定数组按照键名进行升序排序,成功返回 TRUE,失败返回 FALSE

语法:

ksort(array,sortingtype);
复制
参数:

array:必需。规定要进行排序的数组。

sortingtype:可选,规定如何对键名进行排序,其值如下

0 = SORT_REGULAR -默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。

1 = SORT_NUMERIC - 把每一项作为数字来处理。

2 = SORT_STRING - 把每一项作为字符串来处理。

3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。

4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。

5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

php 按键名对数组进行升序排序
示例1:键名为字母进行升序排序

<?php
$arr = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($arr);
print_r($arr);
?>
复制
打印结果:

Array
(

[a] => orange
[b] => banana
[c] => apple
[d] => lemon

)
复制
示例2:php 把数组键名按字符串来处理,进行排序

<?php
$arr = array("name"=>"小明", "sex"=>"男", "age"=>"18", "add"=>"北京");
ksort($arr,SORT_NATURAL);// SORT_NATURAL:键名按字符串来处理
print_r($arr);
?>
复制
打印结果:

Array
(

[add] => 北京
[age] => 18
[name] => 小明
[sex] => 男

)
复制
PHP krsort() 函数
krsort():按数组的键名进行降序排序,成功返回 TRUE,失败返回 FALSE

语法:

krsort(array,sortingtype);
复制
参数:

其参数与 ksort() 函数相同,可参考上面 ksort() 函数的参数介绍!

php 按键名对数组进行降序排序
php代码:

<?php
$arr = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($arr); //按键名进行降序排序
print_r($arr);
?>
复制
打印结果:

Array
(

[d] => lemon
[c] => apple
[b] => banana
[a] => orange

)

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

php 数组按键名进行排序的方法