首頁  >  文章  >  後端開發  >  如何使用 PHP 根據陣列中某個具體鍵值對進行排序,保留原始鍵名?

如何使用 PHP 根據陣列中某個具體鍵值對進行排序,保留原始鍵名?

PHPz
PHPz原創
2024-04-30 16:30:02543瀏覽

使用PHP uasort 函數,並提供比較函數,即可根據陣列中具體鍵值對陣列進行排序,同時保留原始鍵名。具體步驟如下:定義比較函數,接受兩個鍵值對作為參數,並傳回整數;呼叫 uasort 函數,傳入要排序的陣列和比較函數;排序後的陣列將保持原始鍵名。

如何使用 PHP 根据数组中某个具体键值对进行排序,保留原始键名?

如何使用 PHP 依照陣列中某個特定鍵值對進行排序,保留原始鍵名稱?

在 PHP 中,使用 uasort 函數可以依照陣列中某個特定鍵值對進行排序,同時保留原始鍵名。以下是它的語法:

uasort(array $array, callable $value_compare_func)

其中:

  • array 要排序的陣列
  • ##value_compare_func 一個比較函數,它將被用來比較數組中的兩個鍵值對
比較函數應該接受兩個參數(數組中兩個元素的鍵值對)並傳回一個整數:

  • -1 如果第一個鍵值對應該排在第二個鍵值對之前
  • ##0
  • 如果兩個鍵值對相等
  • 1
  • 如果第一個鍵值對應該排在第二個鍵值對之後
  • ##實戰案例

假設我們有一個名為$data

的數組,其中包含學生資訊和他們的成績:

$data = [
    'John Doe' => 85,
    'Jane Smith' => 90,
    'Bob Jones' => 75
];
我們可以使用以下程式碼根據成績對數組進行排序,同時保留原始鍵名:
uasort($data, function($a, $b) {
    return $a - $b;
});

排序後的陣列會如下圖所示:

print_r($data);
// 输出:
// Array
// (
//     [Jane Smith] => 90
//     [John Doe] => 85
//     [Bob Jones] => 75
// )

以上是如何使用 PHP 根據陣列中某個具體鍵值對進行排序,保留原始鍵名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn