可能重复:
如何合并PHP数组?
我有两个数组,都是数据库查询的结果。下面我有一个简单的例子(没有真实的数据,只是为了演示。真实的数据要复杂得多)。
$results:
Array
( [0] =>
Array ( [id] => 20 [age] => 29 )
[1] =>
Array ( [id] => 593 [age] => 38 )
)
$persons:
Array
( [0] =>
Array ( [id] => 593 [name] => Jack Jones )
[1] =>
Array ( [id] => 20 [name] => John Smith )
)
我的问题是:我如何匹配$persons[name]来替换$results[id],这样我就可以得到:
$results:
Array
( [0] =>
Array ( [id] => John Smith [age] => 29 )
[1] =>
Array ( [id] => Jack Jones [age] => 38 )
)
数组是无序的——如果键匹配,我需要替换值(是的,$results中的每个键在$personnel中都有相应的条目)。非常感谢您的帮助!
$a = array(
array('id'=>58,'name'=>'name1'),
array('id'=>63,'name'=>'name2'),
);
$b = array(
array('id'=>63,'value'=>'value2'),
array('id'=>58,'value'=>'value1'),
);
//making key-value
foreach(array_values($a) as $tmp)
{
$aProcessed[$tmp['id']]=$tmp['name'];
}
foreach(array_values($b) as $tmp)
{
$bProcessed[$tmp['id']]=$tmp['value'];
}
//uncomment to see key-value arrays
//var_dump($aProcessed,$bProcessed);
//combining
foreach($aProcessed as $key=>$value)
{
$result[]=array('name'=>$aProcessed[$key],'value'=>$bProcessed[$key]);
}
var_dump($result);