在 PHP 中按子数组值对多维数组进行排序
在 PHP 中,数组可以是多维的,这意味着它们可以在数组中包含数组。一个常见的用例是根据嵌套子数组中的特定键对此类数组进行排序。
按字符串键排序
考虑以下数组:
$array = [ [ 'configuration_id' => 10, 'id' => 1, 'optionNumber' => '3', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 9, 'id' => 1, 'optionNumber' => '2', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 8, 'id' => 1, 'optionNumber' => '1', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ] ];
要根据 'optionNumber' 键对这个数组进行升序排序,我们可以使用 usort以及一个匿名函数:
usort($array, function ($a, $b) { return strcmp($a['optionNumber'], $b['optionNumber']); });
此函数比较每个子数组的 'optionNumber' 值,如果第一个值较大则返回 1,如果第一个值较小则返回 -1,如果第一个值小于则返回 0平等的。此比较区分大小写。
按整数键排序
如果 'optionNumber' 键包含整数,我们可以使用以下函数:
usort($array, function ($a, $b) { return $a['optionNumber'] - $b['optionNumber']; });
此比较将以升序数字对数组进行排序
注意事项
以上是如何按子数组值对多维 PHP 数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!