我有两个数组,如果$ read_two中存在键,我想从两者中打印值
示例代码:
$array_one = [
'one' => 'foo',
'two' => 'bar'
];
$array_two = [
'one' => 'view_foo',
];
我使用此代码
foreach($array_one as $array_key_one => $val_array_one)
{
foreach($array_two as $array_key_two => $val_array_two)
{
if($array_key_one == $array_key_two)
{
echo $val_array_two;
}
else
{
echo $val_array_one;
}
}
}
但我只想使用一个 foreach
期望的结果
bar,view_foo
如何解决?
答案 0 :(得分:4)
如果:
foreach($array_one as $array_key_one => $val_array_one)
{
if(isset($array_two[$array_key_one] ))
{
echo $array_two[$array_key_one];
}
else
{
echo $val_array_one;
}
}
答案 1 :(得分:1)
你可以交叉数组键,然后迭代结果:
foreach (array_intersect_key($array1, $array2) as $key => $value1) {
echo $value1, ' ', $array2[$key], ' ' ;
}
array_intersect_key返回一个数组,其中包含所有参数中包含键的array1的所有条目。