PHP 中有許多種數組排序函數。大多數這些函數都可以透過排序方式(升序或降序)、排序演算法、以及是否保留陣列的鍵值來進行參數配置。以下是 PHP 中一些最常用的陣列排序函數:
#sort() 函數可以用來對陣列中的元素進行升序排序。此函數會改變原數組的元素順序,並傳回布林值,指示排序是否成功。
例如,我們可以使用以下程式碼對陣列$arr 進行升序排序:
$arr = array(5, 2, 8, 12); sort($arr); print_r($arr);
這將輸出:Array ( [0] => 2 [1] => 5 [2 ] => 8 [3] => 12 )
rsort() 函數可以用來對陣列中的元素進行降序排序。和 sort() 函數一樣,函數會改變原始數組的元素順序,並傳回布林值,指示排序是否成功。
以下程式碼使用rsort() 函數對陣列$arr 進行降序排序:
$arr = array(5, 2, 8, 12); rsort($arr); print_r($arr);
這將輸出:Array ( [0] => 12 [1] => 8 [2 ] => 5 [3] => 2 )
asort() 函數可以用來對陣列中的值進行升序排序,同時保留鍵值。除了排序方式以外,函數的其他參數和 sort() 函數一樣。
以下程式碼示範了asort() 函數的使用方法:
$arr = array("b" => 5, "a" => 2, "d" => 8, "c" => 12); asort($arr); print_r($arr);
這將輸出: Array ( [a] => 2 [b] => 5 [d] => ; 8 [c] => 12 )
arsort() 函數可以用來對陣列中的值進行降序排序,同時保留鍵值。除了排序方式以外,函數的其他參數和 rsort() 函數一樣。
以下程式碼示範了arsort() 函數的使用方法:
$arr = array("b" => 5, "a" => 2, "d" => 8, "c" => 12); arsort($arr); print_r($arr);
這將輸出: Array ( [c] => 12 [d] => 8 [b] => ; 5 [a] => 2 )
ksort() 函數可以用來對陣列中的鍵進行升序排序。除了排序方式以外,函數的其他參數和 sort() 函數一樣。
以下程式碼示範了ksort() 函數的使用方法:
$arr = array("b" => 5, "a" => 2, "d" => 8, "c" => 12); ksort($arr); print_r($arr);
這將輸出: Array ( [a] => 2 [b] => 5 [c] => ; 12 [d] => 8 )
krsort() 函數可以用來對陣列中的鍵進行降序排序。除了排序方式以外,函數的其他參數和 rsort() 函數一樣。
以下程式碼示範了krsort() 函數的使用方法:
$arr = array("b" => 5, "a" => 2, "d" => 8, "c" => 12); krsort($arr); print_r($arr);
這將輸出: Array ( [d] => 8 [c] => 12 [b] => ; 5 [a] => 2 )
usort() 函數可以用來對陣列中的元素進行自訂排序。自訂排序需要指定一個回調函數,該函數接受兩個參數並傳回一個整數值。如果指定的回呼函數傳回 1,則表示第一個參數比第二個參數大,排序時交換它們的位置;如果傳回 -1,則交換它們的位置。如果回呼函數傳回 0,則表示兩個參數相等,維持它們在原來的位置。
以下程式碼示範了usort() 函數和回呼函數的使用方法:
$arr = array(5, 2, 8, 12); usort($arr, function($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; }); print_r($arr);
這將輸出: Array ( [0] => 2 [1] => 5 [2 ] => 8 [3] => 12 )
以上就是PHP 中一些常用的陣列排序函數,它們可以處理不同類型的排序需求,我們可以根據具體需求來選擇使用哪個函數。
以上是php排列數組函數怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!