PHP 提供兩種按值對關聯數組進行排序的方法:使用 asort() 函數:對值從小到大排序,同時保留原始鍵名。使用 usort() 函數和閉包:透過自訂比較函數對值進行排序,同時保留原始鍵名。

使用asort() 函數
asort() 函數可依值對關聯數組進行排序,同時保留原始鍵名。它接受一個關聯數組作為參數,並按照從小到大的順序對值進行排序。
<?php
$arr = [
"apple" => 5,
"banana" => 3,
"orange" => 2,
"grape" => 4,
];
asort($arr);
print_r($arr);
?>Array
(
[orange] => 2
[banana] => 3
[grape] => 4
[apple] => 5
)使用usort() 函數和閉包
usort() 函數和閉包。 usort() 接受一個回呼函數作為參數,該函數用於比較陣列中的元素。閉包是一種匿名函數,可用作回呼。
<?php
$arr = [
"apple" => 5,
"banana" => 3,
"orange" => 2,
"grape" => 4,
];
usort($arr, function ($a, $b) {
return $a[1] - $b[1];
});
print_r($arr);
?>Array
(
[orange] => 2
[banana] => 3
[grape] => 4
[apple] => 5
)$a[1] 和$b[ 1]),並傳回-1、0 或1,取決於哪個值較大。
以上是PHP 如何依值對陣列進行排序,同時保留原始鍵名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!