欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

php 接口数组排序,php 数组排序

发布时间:2025/4/5 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 php 接口数组排序,php 数组排序 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

php 对于一维数组的排序有 俩种情况,一种是按值排序,一种是按键值, 其中不同的排序函数有不同的用法,有的会失去索引关系,有的会保持索引关系。但是都比较方便。

对于多维数组来说,就需要自己定义排序函数。其实就感觉像c,c++ 那样。对结构体之类的进行排序。

对于数组排序来说,分俩种情况,一种是对数字排序,一种是对字符串进行排序。

对数字进行排序

function numSort($x,$y){

return $x['a'] < $y['a'];

}

$array = array(

'a'=>array('a'=>1,'b'=>'a'),

'b'=>array('a'=>2,'b'=>'b'),

'c'=>array('a'=>3,'b'=>'c'),

'd'=>array('a'=>4,'b'=>'d')

);

var_dump($array);

echo "


";

usort($array,'numSort');

var_dump($array);

?>

array

'a' =>

array

'a' => int 1

'b' => string 'a' (length=1)

'b' =>

array

'a' => int 2

'b' => string 'b' (length=1)

'c' =>

array

'a' => int 3

'b' => string 'c' (length=1)

'd' =>

array

'a' => int 4

'b' => string 'd' (length=1)

array

0 =>

array

'a' => int 4

'b' => string 'd' (length=1)

1 =>

array

'a' => int 3

'b' => string 'c' (length=1)

2 =>

array

'a' => int 2

'b' => string 'b' (length=1)

3 =>

array

'a' => int 1

'b' => string 'a' (length=1)

发现索引关系没了。如果要保持索引关系,那么使用uasort就可以了。

对于字符串的排序,就需要考虑的字典序。

<?php

function keySort($x,$y){

return strcasecmp($y['b'], $x['b']);//不区分大小写

}

$array = array(

'a'=>array('a'=>1,'b'=>'a'),

'b'=>array('a'=>2,'b'=>'b'),

'c'=>array('a'=>3,'b'=>'c'),

'd'=>array('a'=>4,'b'=>'d')

);

var_dump($array);

echo "


";

usort($array,'keySort');

var_dump($array);

?>

'a' =>

array

'a' => int 1

'b' => string 'a' (length=1)

'b' =>

array

'a' => int 2

'b' => string 'b' (length=1)

'c' =>

array

'a' => int 3

'b' => string 'c' (length=1)

'd' =>

array

'a' => int 4

'b' => string 'd' (length=1)

array

0 =>

array

'a' => int 4

'b' => string 'd' (length=1)

1 =>

array

'a' => int 3

'b' => string 'c' (length=1)

2 =>

array

'a' => int 2

'b' => string 'b' (length=1)

3 =>

array

'a' => int 1

'b' => string 'a' (length=1)

对键值排序

<?php

function keySort($x,$y){

return strcasecmp($y, $x);//不区分大小写

}

$array = array(

'a'=>array('a'=>4,'b'=>'d'),

'b'=>array('a'=>3,'b'=>'c'),

'c'=>array('a'=>2,'b'=>'b'),

'd'=>array('a'=>1,'b'=>'a')

);

var_dump($array);

echo "


";

uksort($array,'keySort');

var_dump($array);

?>

array

'a' =>

array

'a' => int 4

'b' => string 'd' (length=1)

'b' =>

array

'a' => int 3

'b' => string 'c' (length=1)

'c' =>

array

'a' => int 2

'b' => string 'b' (length=1)

'd' =>

array

'a' => int 1

'b' => string 'a' (length=1)

array

'd' =>

array

'a' => int 1

'b' => string 'a' (length=1)

'c' =>

array

'a' => int 2

'b' => string 'b' (length=1)

'b' =>

array

'a' => int 3

'b' => string 'c' (length=1)

'a' =>

array

'a' => int 4

'b' => string 'd' (length=1)

php 数组还是很强大。感觉学习不少

总结

以上是生活随笔为你收集整理的php 接口数组排序,php 数组排序的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。