當前位置: 首頁> 最新文章列表> PHP 數組按值排序並保留鍵名的實現方法

PHP 數組按值排序並保留鍵名的實現方法

M66 2025-07-15

在PHP 中按值排序數組並保留鍵名的方法

在PHP 中,sort() 函數可以用來對數組按值進行排序,但其缺點是會破壞數組的鍵名。為了保留鍵名,我們可以使用自定義的函數來實現這一功能。

自定義排序函數

下面是一個自定義函數,它能夠在按值排序的同時保留數組的鍵名:

function sortByValue($array) {
    $sortedValues = array_values($array);
    asort($sortedValues);
    $sortedKeys = array_keys($sortedValues);
    return array_combine($sortedKeys, $array);
}

實戰案例

假設我們有一個帶有鍵名的數組,以下代碼展示瞭如何使用自定義函數來對數組進行排序:

$array = [
    'apple' => 10,
    'banana' => 20,
    'orange' => 5
];

$sortedArray = sortByValue($array);

print_r($sortedArray);

該代碼執行後的輸出結果為:

Array
(
    [orange] => 5
    [apple] => 10
    [banana] => 20
)

可以看到,數組按值升序排序,並且鍵名沒有被改變。

總結

通過本文介紹的方法,PHP 開發者可以輕鬆地對數組按值進行排序並保留鍵名。這種方式避免了使用sort() 函數時丟失鍵名的問題,非常適用於需要保持鍵名與其對應值的情況下。