如何通过嵌套字段对多维 PHP 数组进行高效排序?
在 PHP 中,可能会遇到表示表格数据的多维数组,其中每个元素保存一个字段值对的关联数组。按嵌套数组中的特定字段对数据进行排序的任务可以轻松实现。
考虑以下类似数据库的数组:
$data = [ [ 'name' => 'Sony TV', 'price' => 600.00 ], [ 'name' => 'LG TV', 'price' => 350.00 ], [ 'name' => 'Samsung TV', 'price' => 425.00 ] ];
要按 ' 对此数组进行排序在“价格”字段中,可以使用 array_multisort() 函数和 array_column() 函数,从多维数组中提取特定的列(字段)。以下代码片段完成此操作:
array_multisort(array_column($data, 'price'), SORT_ASC, $data);
此调用将根据“价格”字段按升序重新排列数组,同时丢弃原始的外部数组键。排序后的数组将显示为:
[ [ 'name' => 'LG TV', 'price' => 350.00 ], [ 'name' => 'Samsung TV', 'price' => 425.00 ], [ 'name' => 'Sony TV', 'price' => 600.00 ] ]
或者,对于 8 之前的 PHP 版本,由于引用传递限制,需要两行解决方案:
$col = array_column($data, 'price'); array_multisort($col, SORT_ASC, $data);
以上是如何通过嵌套字段高效地对多维 PHP 数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!