數組排序:數組中的元素能夠以字母或數字順序進行升序或降序排序。
常用的PHP數組排序函數
•sort() - 以升序對數組排序
•rsort() - 以降序對數組排序
•asort() - 根據值,以升序對關聯數組進行排序
•ksort() - 根據鍵,以升序對關聯數組進行排序
•arsort() - 根據值,以降序對關聯數組進行排序
•krsort() - 根據鍵,以降序對關聯數組進行排序
舉例:
sort()-以升序對數組排序
注釋:本函數為數組中的單元賦予新的鍵名。原有的鍵名將被刪除。
如果成功則返回true 失敗返回 false
例如:
<?php $arr1 = array('a', 'd', 'c', 'b'); $arr2 = array(1, 3, 2, 4); print_r(sort($arr1) ? $arr1 : "排序失敗"); echo "<br>"; print_r(sort($arr2) ? $arr2 : "排序失敗");
運行結果為:
Array ( [0] => a [1] => b [2] => c [3] => d )
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
rsort()函數同理
asort()- 根據值,以升序對關聯數組進行排序
asort() 函數對數組進行排序並保持索引關系。主要用於對那些單元順序很重要的結合數組進行排序。
如果成功則返回 TRUE,否則返回 FALSE。
<?php $arr1 = array('a', 'd', 'c', 'b'); $arr2 = array(1, 3, 2, 4); print_r(asort($arr1) ? $arr1 : "排序失敗"); echo "<br>"; print_r(asort($arr2) ? $arr2 : "排序失敗");
運行結果為:
Array ( [0] => a [3] => b [2] => c [1] => d )
Array ( [0] => 1 [2] => 2 [1] => 3 [3] => 4 )
arsort()函數同理
ksort() - 根據鍵,以升序對關聯數組進行排序
ksort() 函數按照鍵名對數組排序,為數組值保留原來的鍵。
若成功,則返回 TRUE,否則返回 FALSE。
<?php $arr1 = array( '3' => '第三個', '2' => '第二個', '4' => '第四個', '1' => '第一個', ); print_r(ksort($arr1) ? $arr1 : "排序失敗");
運行結果為:
Array ( [1] => 第一個 [2] => 第二個 [3] => 第三個 [4] => 第四個 )
krsort()函數同理
補充—array_multisort() 函數
array_multisort() 函數返回排序數組。您可以輸入一個或多個數組。函數先對第一個數組進行排序,接著是其他數組,如果兩個或多個值相同,它將對下一個數組進行排序。
注釋:字符串鍵名將被保留,但是數字鍵名將被重新索引,從 0 開始,並以 1 遞增。
注釋:您可以在每個數組後設置排序順序和排序類型參數。如果沒有設置,每個數組參數會使用默認值。
<?php $a1=array("Dog","Dog","Cat"); $a2=array(3, 2, 5); array_multisort($a1, SORT_ASC, $a2, SORT_DESC); print_r($a1); print_r($a2);
運行結果為:
Array ( [0] => Cat [1] => Dog [2] => Dog )
Array ( [0] => 5 [1] => 3 [2] => 2 )
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持幫客之家。