У меня есть набор массивов с ключевыми парами значений:
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); $array2 = array('green' => 5, 'blue' => 1, 'yellow' => 7, 'cyan' => 8);
Как проверить, что оба массива содержат ключ соответствия и значение вместе ? Я хочу разместить условие, так что если $array1
и $array2
имеют соответствующую пару blue=>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)
$array1
через $array1
и проверьте, является ли значение одинаковым для $array2
:
foreach($array1 as $i=>$val){ if($array2[$i]==$val) //do stuff }
foreach( $array as $key => $value ){ if (array_key_exists($key, $array1)) { echo $array[$key] == $array1[$key]; } }
Я думаю, что вам нужно проверить ключ, если я правильно помню как ошибки php при попытке получить доступ к несуществующему ключу в хэше.