大家好
我這邊整理一下PHP常用的陣列排序功能
給大家參考![]()
$test = array(
'C' => '3',
'B' => '5',
'A' => '2',
'D' => '4',
'E' => '1',
);
//sort:依照值 由小到大排序 (返回值不包含KEY)
sort($test);
print_r($test);
/*
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
*/
//ksort:依照KEY 由小到大排序
ksort($test);
print_r($test);
/*
Array
(
[A] => 2
[B] => 5
[C] => 3
[D] => 4
[E] => 1
)
*/
//krsort:依照KEY 由大到小排序
krsort($test);
print_r($test);
/*
Array
(
[E] => 1
[D] => 4
[C] => 3
[B] => 5
[A] => 2
)
*/
//asort:依照值 由小到大排序
asort($test);
print_r($test);
/*
Array
(
[E] => 1
[A] => 2
[C] => 3
[D] => 4
[B] => 5
)
*/
//arsort:依照值 由大到小排序
arsort($test);
print_r($test);
/*
Array
(
[B] => 5
[D] => 4
[C] => 3
[A] => 2
[E] => 1
)
*/
//usort:依照值 由函式排序(返回值不包含KEY)
usort($test,function($a, $b){
if ($a == $b) {
return 0;
}
//2擺第一
return ($a == 2 ? -1:($b == 2 ? 1:($a < $b ? -1 : 1)));
});
print_r($test);
/*
Array
(
[0] => 2
[1] => 1
[2] => 3
[3] => 4
[4] => 5
)
*/
//uksort:依照KEY 由函式排序(返回值包含KEY)
uksort($test,function($a, $b){
if ($a == $b) {
return 0;
}
//B擺第一
return ($a == 'B' ? -1:($b == 'B' ? 1:($a < $b ? -1 : 1)));
});
print_r($test);
/*
Array
(
[B] => 5
[A] => 2
[C] => 3
[D] => 4
[E] => 1
)
*/
//uasort:依照值 由函式排序(返回值包含KEY)
uasort($test,function($a, $b){
if ($a == $b) {
return 0;
}
//2擺第一
return ($a == 2 ? -1:($b == 2 ? 1:($a < $b ? -1 : 1)));
});
print_r($test);
/*
Array
(
[A] => 2
[E] => 1
[C] => 3
[D] => 4
[B] => 5
)
*/
這邊整理一下表格
|
sort
|
依照值 由小到大排序
|
返回值不包含KEY
|
|
ksort
|
依照KEY 由小到大排序
|
返回值包含KEY
|
|
krsort
|
依照KEY 由大到小排序
|
返回值包含KEY
|
|
asort
|
依照值 由小到大排序
|
返回值包含KEY
|
|
arsort
|
依照值 由大到小排序
|
返回值包含KEY
|
|
usort
|
依照值 由函式排序
|
返回值不包含KEY
|
|
uksort
|
依照KEY 由函式排序
|
返回值包含KEY
|
|
uasort
|
依照值 由函式排序
|
返回值包含KEY
|
希望對大家有幫助
感恩!

留言板
歡迎留下建議與分享!希望一起交流!感恩!