首頁 > 後端開發 > php教程 > 如何在 PHP 中對多維數組進行排序,同時保留鍵名?

如何在 PHP 中對多維數組進行排序,同時保留鍵名?

WBOY
發布: 2024-05-03 21:51:01
原創
707 人瀏覽過

同時對多維數組保留鍵名排序:1. 使用 uksort(),依照鍵值排序,提供比較函數傳回1、-1或0,指示鍵值的相對順序。 2. 使用 krsort(),對鍵值從高到低排序,接受一個陣列參數。

如何在 PHP 中对多维数组进行排序,同时保留键名?

如何在PHP 中對多維數組進行排序,同時保留鍵名

有時,您可能需要對一個多維數組進行排序,同時保留其鍵名。為此,PHP 提供了 uksort()krsort() 函數。

uksort

uksort() 函數根據陣列鍵的值對陣列進行排序。它接受兩個參數:一個包含要排序的陣列和一個比較函數。比較函數應傳回以下值之一:

  • 1,如果陣列的第一個元素應在第二個元素之前
  • -1,如果陣列的第一個元素應在第二個元素之後
  • 0,如果陣列的第一個元素等於第二個元素
<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

uksort($cars, function($a, $b) {
    return strcmp($a, $b);
});

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>
登入後複製

輸出:

BMW: Germany
Honda: Japan
Mercedes: Germany
Toyota: Japan
登入後複製

##krsort

krsort() 函數對陣列進行排序,並將鍵值從高到低排序。它接受一個參數,即要排序的陣列。

<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

krsort($cars);

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>
登入後複製

輸出:

Toyota: Japan
Honda: Japan
Mercedes: Germany
BMW: Germany
登入後複製

以上是如何在 PHP 中對多維數組進行排序,同時保留鍵名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板