Heim  >  Artikel  >  Backend-Entwicklung  >  Drei Möglichkeiten, die Funktion array_diff() in PHP zu implementieren, um Array-Unterschiede zu vergleichen

Drei Möglichkeiten, die Funktion array_diff() in PHP zu implementieren, um Array-Unterschiede zu vergleichen

不言
不言nach vorne
2019-01-03 10:13:303358Durchsuche

In diesem Artikel geht es um die drei Implementierungsmethoden der Funktion array_diff() zum Vergleichen von Array-Unterschieden. Ich hoffe, dass sie einen Referenzwert haben wird dir helfen.

Das Folgende ist eine kurze Einführung in die Funktion array_diff(), die den Unterschied zwischen zwei Arrays in PHP vergleicht.

In der in PHP integrierten Funktion gibt es ein array_diff(): Es bedeutet, die Schlüsselwerte zweier Arrays zu vergleichen und die Differenz zurückzugeben.

Im Folgenden wird der durch Array-Traversierung festgelegte Unterschied implementiert:

Zuerst gibt es zwei verschiedene Arrays $arr_1, $arr_2:

Eine Methode:

function fun($arr_1,$arr_2)
{
       foreach ($arr_1 as $key => $val)
      {
              $bool = false;
              foreach ($arr_2 as $k => $v)
             {
                   if($bool = ($val == $v))
                  {
                           break;
                   }
             }
             if(!$bool)
            {
                 $diff[$key] = $val;
             }
       }
}

Obwohl diese Methode den Unterschied zwischen Arrays erkennen kann, ist die Effizienz nicht optimistisch, wenn die Array-Länge eine bestimmte Länge erreicht.

Zwei Methoden:

foreach ($arr_1 as $key => $val)
{
    if(in_array($val,$arr_2))
    {
            unset($arr_1[$key]);
    }
}

Diese Methode soll in anderen Blogs mit array_diff() vergleichbar sein.

Drei Möglichkeiten:

Nachdem Sie den Schlüsselwert des Arrays arr_2 durch „array_flip();“ invertiert haben, bestimmen Sie, ob der Wert im Array arr_1 im Schlüssel von arr_2 liegt

$arr_2 = array_flip($arr_2);
foreach ($arr_1 as $key => $val)
{
    if(isset($arr_2[$val]))
    {
            unset($arr_1[$key]);
    }
}

Das obige ist der detaillierte Inhalt vonDrei Möglichkeiten, die Funktion array_diff() in PHP zu implementieren, um Array-Unterschiede zu vergleichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen