PHP iki boyutlu dizi karşılaştırmak

2 Cevap php

İki iki-boyutlu diziler değerini karşılaştırmak için nasıl bilmek istiyorum.

İlk dizi

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

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

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

}

İkincisi

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

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

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

}

Ben dizileri karşılaştırmak ve eşleşen değerini kontrol etmek için benim döngü yapmak gerekir. Benim durumumda, dizi1 [0] [0], bir maçı [0] [0] = a dizi2 =. O, php çıktısı bazı html eşleşir.

Benim foreach döngüsü

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

2 Cevap

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

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

foreach($a as $k => $v) sözdizimi de $k içine değeri ile ilişkili anahtar koyar dışında, foreach($a as $v) olarak aynı şeyi yapar.

Öyle array_diff_assoclike kullanabilirsiniz

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);
}

Bu size yardımcı olur umarım.

Ayrıca array_diff_assoc not almak, onun indeks anahtarları da dahil diğer diziye farklı olduğu bulunmuştur dizi öğeleri döndürür.