大家好
我這邊整理一下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
|
希望對大家有幫助
感恩!

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