同時對多維數組保留鍵名排序:1. 使用 uksort(),依照鍵值排序,提供比較函數傳回1、-1或0,指示鍵值的相對順序。 2. 使用 krsort(),對鍵值從高到低排序,接受一個陣列參數。
如何在PHP 中對多維數組進行排序,同時保留鍵名
有時,您可能需要對一個多維數組進行排序,同時保留其鍵名。為此,PHP 提供了 uksort()
和 krsort()
函數。
uksort
uksort()
函數根據陣列鍵的值對陣列進行排序。它接受兩個參數:一個包含要排序的陣列和一個比較函數。比較函數應傳回以下值之一:
<?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中文網其他相關文章!