如何根据相同键合并简单数组与嵌套数组
合并两个数组按索引关联值
没问题,这事儿在PHP里好办得很!你需要把第一个索引数组的值,按对应位置合并到第二个数组的子元素里,下面给你两种实用的实现方法:
方法一:foreach循环(直观易理解)
这种方法适合刚接触PHP的朋友,逻辑清晰,直接遍历数组修改原数据:
// 你的原始数组 $array1 = [1, 2]; $array2 = [ ['FullName' => 'Bhupat Chippa'], ['FullName' => 'Dvs Patel'] ]; // 遍历第二个数组,按索引合并第一个数组的值 foreach ($array2 as $index => &$subArray) { // 先确认第一个数组有对应索引的元素,避免报错 if (isset($array1[$index])) { $subArray[$index] = $array1[$index]; } } unset($subArray); // 记得释放引用,防止后续操作意外修改数组 // 输出结果 print_r($array2);
方法二:array_map函数(简洁写法)
如果喜欢更紧凑的代码,用array_map可以一步生成合并后的新数组:
$array1 = [1, 2]; $array2 = [ ['FullName' => 'Bhupat Chippa'], ['FullName' => 'Dvs Patel'] ]; // 同时遍历两个数组和索引,合并生成新数组 $mergedArray = array_map(function($subArray, $value, $index) { $subArray[$index] = $value; return $subArray; }, $array2, $array1, array_keys($array1)); // 输出结果 print_r($mergedArray);
最终输出结果
两种方法都会得到你想要的格式:
Array ( [0] => Array ( [FullName] => Bhupat Chippa [0] => 1 ) [1] => Array ( [FullName] => Dvs Patel [1] => 2 ) )
内容的提问来源于stack exchange,提问作者Maulik Pipaliya Joyy
相关产品推荐
相关产品推荐

