сравнить 2 массива (нет)

ZiBoX

Новичок
сравнить 2 массива (нет)

Господа.
Нужно сравнить 2 массива.
Тольоко не посылайте в поиск я ничего там не нашел, а может не правильно искал.
Вообщем суть дела такова
Есть 2 массива
1 имеет структуру
[0] => Array
(
[x] => 0
[y] => 0
[p] => 0
)

[1] => Array
(
[x] => 1
[y] => 0
[p] => 0
)

[2] => Array
(
[x] => 2
[y] => 0
[p] => 0
)
2 массив имеет такую же структуру.
И как их сравнить?
Я пробывал допустим
PHP:
for ($i=0,$max=count($array1);$i<$max;$i++)
    {
      if ($array1[$i]['x']==$array2[$i]['x'] && 
          $array1[$i]['y']==$array2[$i]['y'] && 
          $array1[$i]['p']==$array2[$i]['p'])
          {
                  $xx++;
          }else
                 {
                      $yy++;
                  }
    }
И почему то не получалось.
Сравнивались как-то не так...
Помоги с решением.
Заранее благодарю...
 

ZiBoX

Новичок
Почему то одинаковое количество верный.
На несколько массивов.
хотя после каждого прохода массива я обнуляю.
т.е.

PHP:
foreach ($aaa as $num=>$value)
   {
  for ($i=0,$max=count($array1);$i<$max;$i++) 
    { 
      if ($array1[$num][$i]['x']==$array2[$num][$i]['x'] &&  
          $array1[$num][$i]['y']==$array2[$num][$i]['y'] &&  
          $array1[$num][$i]['p']==$array2[$num][$i]['p']) 
          { 
                  $xx++; 
          }else 
                 { 
                      $yy++; 
                  } 
     }
 echo $xx;
 echo $yy;
 $xx=0;
 $yy=0;
   }
-~{}~ 25.06.06 01:19:

Вообще, то массив тройной
[0]=>Array
(

[0] => Array
(
[x] => 0
[y] => 0
[p] => 0
)

[1] => Array
(
[x] => 1
[y] => 0
[p] => 0
)

[2] => Array
(
[x] => 2
[y] => 0
[p] => 0
)

)
 
Верно у тебя будет только тогда когда все три элементы совпадают. Можешь сравнивать массивы целиком. (см. Array Operators). Напишы словами что не так, как предполагалось
 

ZiBoX

Новичок
Да верно когда все 3.
Я вообще процентное соотношение вычисляю,
каждого массива с контрольным(схожесть).

т.е. чем больше совпадений тем больше процент совпадения
 
Если тройной массив , почему $i идет до count($array1). По твоим кускам тяжело что-то понять
 

Franzusow

Новичок
http://de2.php.net/manual/en/function.array-diff-assoc.php
http://de2.php.net/manual/en/function.array-diff.php
 

NikZhavoronkoff

Новичок
Может и глупое изречение, но разве нельзя так:

$arr1=array(...);
$arr2=array(...);
if ($arr1 === $arr2)
{ /* массивы равны */ }

? Почему вообще просто нельзя сравнить arr1==arr2?
 
Сверху