PHP如何使用循环将数组插入到数组中的每个数组中

时间:2018-01-24 16:55:26

标签: php

我有这个数组:

array(n){
            [0]=>
            array(3){
                ["a"]=>int(1)
                ["b"]=>int(2)
                ["c"]=>int(3)
            }
            ...
        }

和这个数组:

array(n){
            [0]=>
            array(m){
                ["1x"]=>string(someText)
                ["2x"]=>string(someText)
                ["3x"]=>string(someText)
                ....
            }
            ...
        }

我想将它们合并到:

array(n){
            [0]=>
            array(3){
                ["a"]=>int(1)
                ["b"]=>int(2)
                ["c"]=>int(3)
                ["x"]=>array(m){
                    ["1m"]=>string(someText)
                    ["2m"]=>string(someText)
                    ["3m"]=>string(someText)
                    ...
                }
            }
            ...
        }

我试过四处寻找,但我找不到解决这个问题的方法。

我真的很感激,如果有人可以指出我解决这个问题的方法。

非常感谢任何可能提供帮助的人!

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你有2个数组:主数组和辅助数组(你想要嵌入)。 您希望获取主数组,其中包含嵌套数组,并通过将每个嵌套数组与辅助数组合并来操作它。

这是一个有效的代码:

// The main array, which we will append to  
$mainArr = array( 
    array (
            "a" => 1,
            "b" => 2,
            "c" => 3
    ),
    array (
            "d" => 4,
            "e" => 5,
            "f" => 6
    )
);

// The Array we want to embed to each of the nested arrays in $mainArr
$arrayToEmbed =  array( 
    "1x" => "Str1x",
    "2x" => "Str2x",
    "3x" => "Str3x"
);

// The final result array that will contain the changes
$resultArr = $mainArr;

// Loop over each nested array in $mainArr and merge with $arrayToEmbed  
foreach( $mainArr as $key => $nestedArr ){
    $resultArr[$key] = array_merge($nestedArr, $arrayToEmbed);
}

// Print final result
print_r($resultArr);