对多维数组同时保留键名排序: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中文网其他相关文章!