如何将多个独立数组合并为单个数组?
嘿,这事儿简单得很,分两种常见情况给你说清楚哈~
方案1:直接合并为包含子数组的单个数组
如果你的需求是把这三个独立数组作为子元素整合到一个大数组里,直接把它们放到新数组中即可:
// 先定义你的三个独立数组 $arr1 = ['option' => 'nos', 'optioncost' => 10]; $arr2 = ['option' => 'opts', 'optioncost' => 20]; $arr3 = ['option' => 'opts', 'optioncost' => 30]; // 合并成单个数组 $combinedArray = [$arr1, $arr2, $arr3];
执行后,用print_r($combinedArray)输出的结果是:
Array ( [0] => Array ( [option] => nos [optioncost] => 10 ) [1] => Array ( [option] => opts [optioncost] => 20 ) [2] => Array ( [option] => opts [optioncost] => 30 ) )
方案2:按
option分组合并 如果想把相同option对应的optioncost归到一起(比如同一个选项的成本放在一个数组里),可以通过循环遍历实现:
$arr1 = ['option' => 'nos', 'optioncost' => 10]; $arr2 = ['option' => 'opts', 'optioncost' => 20]; $arr3 = ['option' => 'opts', 'optioncost' => 30]; $groupedArray = []; // 遍历所有待合并的数组 foreach ([$arr1, $arr2, $arr3] as $item) { $optionKey = $item['option']; // 若当前option还未在分组数组中,先初始化一个空数组 if (!isset($groupedArray[$optionKey])) { $groupedArray[$optionKey] = []; } // 将对应成本添加到分组中 $groupedArray[$optionKey][] = $item['optioncost']; }
执行后,print_r($groupedArray)的输出结果是:
Array ( [nos] => Array ( [0] => 10 ) [opts] => Array ( [0] => 20 [1] => 30 ) )
如果你的需求不是这两种,可以补充说明具体的期望结构,我再帮你调整~
内容的提问来源于stack exchange,提问作者vaitheesh eswar
相关产品推荐
相关产品推荐

