在 PHP 中按内部数组字段对多维数组进行排序 [重复]
考虑一个表示类似数据库结构的多维数组,其中每个元素表示具有包含字段名称-值对的内部数组的行。例如:
Array ( [0] => Array ( [name] => 'Sony TV' [price] => 600.00 ) [1] => Array ( [name] => 'LG TV' [price] => 350.00 ) [2] => Array ( [name] => 'Samsung TV' [price] => 425.00 ) }
目标是根据“价格”字段对这些行进行排序。期望的结果是:
Array ( [0] => Array ( [name] => 'LG TV' [price] => 350.00 ) [1] => Array ( [name] => 'Samsung TV' [price] => 425.00 ) [2] => Array ( [name] => 'Sony TV' [price] => 600.00 ) }
解决方案:
为了实现这种排序,PHP 提供了以下简单的解决方案:
array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);
或者,以下代码片段可用于保留外部数组键:
$col = array_column($yourArray, "price"); array_multisort($col, SORT_ASC, SORT_NUMERIC, $yourArray);
以上是如何在 PHP 中通过内部数组的字段对多维数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!