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就可以了。
對于字符串的排序,就需要考慮的字典序。
<?phpfunction 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)
對鍵值排序
<?phpfunction 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 数组排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php判断ip跳转城市,PHP判断IP并
- 下一篇: 电脑菜单隐藏怎么打开 怎么打开隐藏的电脑