Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php数组将一个数组迭代到另一个数组上并合并它们以获得最终数组_Php_Arrays - Fatal编程技术网

php数组将一个数组迭代到另一个数组上并合并它们以获得最终数组

php数组将一个数组迭代到另一个数组上并合并它们以获得最终数组,php,arrays,Php,Arrays,嗨,我有这两个数组,我想迭代/合并它们。这是我的密码: $userConfigArray = array( array( 'country'=>'USA', 'bowieServer'=>$bowieSrvUSA, 'RMXserver'=>

嗨,我有这两个数组,我想迭代/合并它们。这是我的密码:

$userConfigArray = array(
                        array(
                                'country'=>'USA',
                                'bowieServer'=>$bowieSrvUSA,
                                'RMXserver'=>$rmxSrvUSA,
                              ),

                        array(
                                'country'=>'GBR',
                                'bowieServer'=>$bowieSrvEU,
                                'RMXserver'=>$rmxSrvEU,
                              ),

        );

$browseConfigArray = array(
                        array(
                                'opt' => '3',
                                'browseMax'=>'1',
                                'format'=>'xml',
                             ),
                        array(
                                'opt' => '4,5',
                                'browseMax'=>'1',
                                'format'=>'xml',
                             ),
                );
我希望我的最终输出如下:

array(
                        array(
                                'opt' => '3',
                                'browseMax'=>'1',
                                'format'=>'xml',
                                'country'=>'USA',
                                'bowieServer'=>$bowieSrvUSA,
                                'RMXserver'=>$rmxSrvUSA,
                             ),
                        array(
                                'opt' => '4,5',
                                'browseMax'=>'1',
                                'format'=>'xml',
                                'country'=>'USA',
                                'bowieServer'=>$bowieSrvUSA,
                                'RMXserver'=>$rmxSrvUSA,

                             ),
                        array(
                                'opt' => '3',
                                'browseMax'=>'1',
                                'format'=>'xml',
                                'country'=>'GBR',
                                'bowieServer'=>$bowieSrvEU,
                                'RMXserver'=>$rmxSrvEU,
                        ),
                        array(
                                'opt' => '4,5',
                                'browseMax'=>'1',
                                'format'=>'xml',
                                'country'=>'GBR',
                                'bowieServer'=>$bowieSrvEU,
                                'RMXserver'=>$rmxSrvEU,
                        ),
                );
试试这个:

function array_merge_subitems($arr1, $arr2) {
    $offset = 0;
    $result = array();
    while (isset($arr1[$offset]) && isset($arr2[$offset])) {
        $r1 = (isset($arr1[$offset])) ? $arr1[$offset] : array();
        $r2 = (isset($arr2[$offset])) ? $arr2[$offset] : array();
        $result[] = array_merge($r1, $r2);

        $offset++;
    }

    return $result;
}

要遍历多维数组,请将array_walk php函数与回调函数一起使用

array_walk(array &$input , callable $funcname [, mixed $userdata = NULL ]);
解决方案:

<?php
$browserConfigArray = 
    array(array('opt' => '3', 'browseMax'=>'1', 'format'=>'xml'), 
          array('opt' =>'4.5', 'browseMax'=>'2', 'format'=>'json')
    );
$userConfigArray = array(
       array('country'=>'USA', 'bowieServer'=>'USA', 'RMXserver'=>'1'),
       array('country'=>'UK', 'bowieServer'=>'UK', 'RMXserver'=>'2'));

static $finalArray = array();

function walkArray(&$item, $key, $params)
{
    $item = array_merge($item, $params);    
}
foreach($userConfigArray as $config) {
    array_walk($browserConfigArray, 'walkArray', $config);
    $finalArray = array_merge($finalArray, $browserConfigArray);
}
print_r($finalArray);
'4.5','browseMax'=>'2','format'=>'json')
);
$userConfigArray=array(
数组('country'=>'USA'、'bowieServer'=>'USA'、'RMXserver'=>'1'),
数组('country'=>'UK'、'bowieServer'=>'UK'、'RMXserver'=>'2');
静态$finalArray=array();
函数数组(&$item、$key、$params)
{
$item=array\u merge($item$params);
}
foreach($userConfigArray作为$config){
array_walk($browserConfigArray,'walkArray',$config);
$finalArray=array\u merge($finalArray,$browserConfigArray);
}
打印费($finalArray);

?>

很酷。你有问题吗?这不起作用,它会给我一个错误,在/Users/mkothari/Zend/1QA/apiAutomation/trunk/tests/testParent.php中在线说出php警告:缺少testParent::getbrowseconfigaraytests()的参数286@user2118095此错误与lucasvscn代码无关!