2010-05-30 3 views
4

Я хотел бы знать, как сравнить два значения размера двух измерений.PHP сравнить двухмерный массив

Первого массив

Array 1 
(
    [0] => Array 
     (
      [0] => a 
     ) 

    [1] => Array 
     (
      [0] => b 
     ) 

    [2] => Array 
     (
      [0] => c 
     ) 

} 

Второго один

Array 2 
(
    [0] => Array 
     (
      [0] => a 
     ) 

    [1] => Array 
     (
      [0] => d 
     ) 

    [2] => Array 
     (
      [0] => e 
     ) 

} 

Мне нужно сделать мой цикл для сравнения массивов и проверить совпадающее значение. В моем случае array1 [0] [0] = a соответствует array2 [0] [0] = a. Если он совпадает, php выведет некоторый html.

Моего Еогеасп петля

foreach ($array1 as $arrays){ 
    foreach($arrays as $array){ 
     //need to compare array2 here not sure how to do it. 
    } 
} 
+0

«Мне нужно знать, может ли мой цикл сравнивать массивы, чтобы проверить согласованное значение». - ну, сохраните файл и попробуйте его;) – miku

+0

.... У меня нет ничего, чтобы попробовать ... :( – FlyingCat

ответ

2
foreach($array1 as $k1 => $arrays) { 
    foreach($arrays as $k2 => $val) { 

     if($array2[$k1][$k2] == $val) { 
      // $array1[$k1][$k2] is equal to $array2[$k1][$k2] 
     } 
    } 
} // end of foreach 

foreach($a as $k => $v) синтаксис делает то же самое, как foreach($a as $v), за исключением того, что он также помещает ключ, связанный со значением в $k.

+1

Спасибо за помощь. Amber – FlyingCat

+0

@mattbasta: No , это не должно. – Amber

1

Вы можете использовать array_diff_assoclike так

if(count(array_diff_assoc($array1,array2) != 0)) 
{ 
    //Arrays are not the same 
}else{ 
    echo 'these following items are differing in throughout the arrays . ' . print_r(array_diff_assoc($array1,array2),true); 
} 

Надеется, что это помогает вам.

Также обратите внимание на array_diff_assoc, он возвращает элементы массива, которые, как обнаружено, отличаются от другого массива, включая его индексные ключи.

+1

Следует отметить, что эта функция - SLOOOOOWWWWWWW. Отлично, если у вас небольшие массивы , но он становится экспоненциально медленнее, поскольку вы добавляете к ним много элементов. – mattbasta

+0

Янтарь получил то, что мне нужно. Спасибо за подсказку. +1 – FlyingCat

+0

Это очень хорошая точка сэр. – RobertPitt

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