我有一组带有键值对的数组:
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 1, 'yellow' => 7, 'cyan' => 8);
如何检查两个数组是否包含匹配键和值?我想提出一个条件,如果$array1
和$array2
有匹配的对blue=>1
,那么我想做点什么?
答案 0 :(得分:1)
循环浏览$array1
并检查$array2
的值是否相同:
foreach($array1 as $i=>$val){
if($array2[$i]==$val)
//do stuff
}
答案 1 :(得分:1)
您可以使用array_intersect_assoc:
php > var_dump(count(array_intersect_assoc($array1,$array2)) > 0);
bool(true)
php > $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
php > $array2 = array('green' => 5, 'blue' => 2, 'yellow' => 7, 'cyan' => 8);
php > var_dump(count(array_intersect_assoc($array1,$array2)) > 0);
bool(false)
答案 2 :(得分:0)
foreach( $array as $key => $value ){
if (array_key_exists($key, $array1)) {
echo $array[$key] == $array1[$key];
}
}
我认为如果我在尝试访问哈希中不存在的密钥时错误地将其视为php错误,则必须检查密钥存在。