使用迭代方法按列值对二维数组行进行分组
处理复杂的多维数组时,需要根据特定的值对行进行分组列值经常出现。虽然 PHP 缺乏用于此任务的本机函数,但简单的 foreach 循环可以有效地实现此目的。
考虑以下数组:
$data = [ [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'reterty', 'description' => 'tyrfyt', 'packaging_type' => 'PC' ], [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'dftgtryh', 'description' => 'dfhgfyh', 'packaging_type' => 'PC' ], [ 'id' => 97, 'shipping_no' => '212755-2', 'part_no' => 'ZeoDark', 'description' => 's%c%s%c%s', 'packaging_type' => 'PC' ] ];
要按 'id' 列对数组行进行分组,使用以下循环:
$result = []; foreach ($data as $element) { $result[$element['id']][] = $element; }
此循环迭代原始数组的每个元素。对于每个元素,它检查 'id' 值并将该元素添加到结果数组中相应的子数组中。
生成的 $result 数组将按 'id' 分组,如下所示:
[ 96 => [ // Element with id 96 from the original array // Element with id 96 from the original array ], 97 => [ // Element with id 97 from the original array ] ]
这种方法避免了结果数组中的重复项,确保根据“id”列值将每一行分配到正确的组。
以上是如何使用迭代根据列值对 2D PHP 数组中的行进行分组?的详细内容。更多信息请关注PHP中文网其他相关文章!