PHP中數組的排序功能非常強大,其中key排序也是經常用到的一種排序方式。使用key排序可以按照數組的鍵名進行排序,是一種非常靈活的排序方法。
下面我們來看一些例子,首先我們定義一個關聯數組:
$age = array("Peter"=>"35", "John"=>"20", "David"=>"25");
這個數組中,"Peter"、"John"、"David" 是鍵名,"35"、"20"、"25" 是鍵值。接下來我們使用ksort()函數對該數組進行key排序:
ksort($age); print_r($age);
運行結果如下:
Array ( [David] =>25 [John] =>20 [Peter] =>35 )
我們可以看到,該數組按照鍵名進行了升序排序。
使用krsort()函數可以進行降序排序,例如:
krsort($age); print_r($age);
運行結果如下:
Array ( [Peter] =>35 [John] =>20 [David] =>25 )
這個數組按照鍵名進行了降序排序。
上面兩個例子中我們使用的是關聯數組,實際上這些函數對普通數組也同樣適用。例如:
$numbers = array(4,2,8,6); ksort($numbers); print_r($numbers);
運行結果如下:
Array ( [0] =>2 [1] =>4 [2] =>6 [3] =>8 )
這個數組按照鍵名進行了升序排序,但是由于這是普通數組而非關聯數組,實際上鍵名就是該元素的下標,因此實際上這個數組就是按照元素的大小進行了升序排序。
同樣的,我們可以使用krsort()函數進行降序排序,例如:
$numbers = array(4,2,8,6); krsort($numbers); print_r($numbers);
運行結果如下:
Array ( [3] =>6 [2] =>8 [1] =>4 [0] =>2 )
這個數組按照鍵名(下標)進行了降序排序。
除了ksort()和krsort()函數,還有一些其他的排序函數,例如asort()和arsort()函數可以對關聯數組按鍵值進行排序。這些函數的使用和key排序差不多,具體可以參考PHP的官方文檔。
上一篇python畫多個直方圖
下一篇java棧和本地棧區別