PHP中有很多內置的函數,其中之一就是ksort()函數。這個函數是用來對關聯數組按照鍵名進行升序排列的。如果你想要按照鍵名對一個關聯數組進行排序,那么ksort()函數就是你的最佳選擇。
下面我們來看一下ksort()函數的基本使用方法:
$fruits = array("d" =>"lemon", "a" =>"orange", "b" =>"banana", "c" =>"apple"); ksort($fruits); foreach ($fruits as $key =>$val) { echo "$key = $val\n"; }在這個例子中,我們定義了一個關聯數組$fruits,然后通過ksort()函數對其進行了按鍵名升序排列的操作。最后使用foreach循環遍歷關聯數組輸出鍵名和對應的值,結果如下:
a = orange b = banana c = apple d = lemon因為ksort()函數是按鍵名進行升序排列的,所以它是不關心值的內容的。無論你的值是什么,只要鍵名是按升序排列的,ksort()函數就會把它排列到正確的位置上。 下面我們再來看一個例子,這次是一個多維關聯數組,我們會發現,ksort()函數同樣可以對其按照鍵名進行升序排列:
$students = array( "1001" =>array("name" =>"Amy", "age" =>18, "score" =>90), "1002" =>array("name" =>"Bob", "age" =>20, "score" =>85), "1003" =>array("name" =>"Cathy", "age" =>19, "score" =>95), "1004" =>array("name" =>"David", "age" =>21, "score" =>80) ); ksort($students); //按學生編號升序排列 foreach ($students as $key =>$val) { echo "編號:$key,姓名:" . $val['name'] . ",年齡:" . $val['age'] . ",成績:" . $val['score'] . "\n"; }結果如下:
編號:1001,姓名:Amy,年齡:18,成績:90 編號:1002,姓名:Bob,年齡:20,成績:85 編號:1003,姓名:Cathy,年齡:19,成績:95 編號:1004,姓名:David,年齡:21,成績:80從上面的例子可以看出,ksort()函數對于多維關聯數組同樣適用,只需要進行一次按鍵名升序排列的操作即可。 在使用ksort()函數時,需要注意的一點是,這個函數只能按照鍵名進行升序排列,如果你希望按照鍵值進行排序,那么就需要使用另外一個函數了。 總之,無論是單維關聯數組還是多維關聯數組,ksort()函數都是用來按照鍵名進行升序排列的好方法。如果你需要對這類數組進行排序操作,那么ksort()函數是你的不二選擇。
下一篇java站編號和站名