2015-05-31 3 views
1

У меня есть наборы массивов с ключевыми парами значений:Как проверить соответствие пары ключ-значение

$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

Спасибо всем. Я пытаюсь повторить запрос с помощью Laravel. но я получаю ошибки. мне лучше опубликовать другой вопрос? – Billy

+0

Нет, вы должны отредактировать свой вопрос и добавить соответствующий код, который вы попробовали, и описать проблему, с которой вы столкнулись. – hek2mgl

+0

спасибо hek2mgl, но он слишком длинный и его более laravel, если честно – Billy

ответ

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) 
1

Loop через $array1 и проверить, если значение является одинаковым для $array2:

foreach($array1 as $i=>$val){ 
    if($array2[$i]==$val) 
     //do stuff 
} 
0
foreach($array as $key => $value){ 
    if (array_key_exists($key, $array1)) { 
    echo $array[$key] == $array1[$key]; 
    } 
} 

Я думаю, что вы должны проверить ключ существует, если I правильно помните как ошибки php при попытке получить доступ к несуществующему ключу в хэше.

Смежные вопросы