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代码无关!