So ermitteln Sie den Unterschied zwischen zwei Arrays in PHP: 1. Verwenden Sie die Funktion array_diff() und geben Sie Elemente zurück, die im ersten Array erscheinen, aber nicht in anderen Arrays vorhanden sind . Verwenden Sie eine Schleife und die Funktion in_array(), um die Elemente des ersten Arrays einzeln zu durchlaufen, und verwenden Sie die Funktion in_array(), um zu überprüfen, ob das Element im zweiten Array vorhanden ist . Verwenden Sie die Funktion array_udiff() usw.
Die Betriebsumgebung dieses Tutorials: Windows10-System, PHP8.1.3-Version, DELL G3-Computer.
In PHP müssen wir häufig Arrays verarbeiten und vergleichen. Eine häufige Operation besteht darin, den Unterschied zwischen zwei Arrays zu ermitteln, d. h. Elemente zu finden, die in einem Array vorkommen, in dem anderen jedoch nicht. In diesem Artikel werden verschiedene Methoden zur Durchführung dieses Vorgangs vorgestellt.
Methode 1: Verwenden Sie die Funktion array_diff()
Der einfachste Weg ist die Verwendung der in PHP integrierten Funktion array_diff(). Diese Funktion akzeptiert zwei oder mehr Arrays als Argumente und gibt Elemente zurück, die im ersten Array erscheinen, aber in den anderen Arrays nicht vorhanden sind.
Der Beispielcode lautet wie folgt:
$array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4, 5, 6, 7]; $result = array_diff($array1, $array2); print_r($result);
Das Ausgabeergebnis ist:
Array ( [0] => 1 [1] => 2 )
Dies zeigt, dass die Elemente, die in $array1 erscheinen, aber in $array2 nicht vorhanden sind, 1 und 2 sind.
Methode 2: Verwenden Sie Schleifen und die Funktion in_array()
Zusätzlich zur Funktion array_diff() können wir auch Schleifen und Funktionen in_array() verwenden, um den Unterschied zwischen zwei Arrays zu ermitteln. Diese Methode durchläuft nacheinander die Elemente des ersten Arrays und prüft mithilfe der Funktion in_array(), ob das Element im zweiten Array vorhanden ist.
Der Beispielcode lautet wie folgt:
$array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4, 5, 6, 7]; $result = []; foreach ($array1 as $element) { if (!in_array($element, $array2)) { $result[] = $element; } } print_r($result);
Das Ausgabeergebnis ist:
Array ( [0] => 1 [1] => 2 )
Methode drei:
Eine andere Methode ist die Verwendung der Funktion array_diff_key(). Diese Funktion akzeptiert zwei oder mehr Arrays als Argumente und gibt Schlüsselwerte zurück, die im ersten Array, jedoch nicht in den anderen Arrays vorhanden sind.
Der Beispielcode lautet wie folgt:
$array1 = ['a' => 1, 'b' => 2, 'c' => 3]; $array2 = ['c' => 3, 'd' => 4, 'e' => 5]; $result = array_diff_key($array1, $array2); print_r($result);
Das Ausgabeergebnis ist:
Array ( [a] => 1 [b] => 2 )
Dies zeigt, dass die Schlüsselwerte, die in $array1, aber nicht in $array2 vorhanden sind, „a“ und „b“ sind.
Methode 4: Verwenden Sie die Funktion array_udiff()
Die letzte Methode besteht darin, die Funktion array_udiff() zu verwenden. Für diese Funktion muss eine zusätzliche benutzerdefinierte Vergleichsfunktion übergeben werden, um die Elemente des Arrays zu vergleichen.
Der Beispielcode lautet wie folgt:
$array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4, 5, 6, 7]; $result = array_udiff($array1, $array2, function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; }); print_r($result);
Das Ausgabeergebnis ist:
Array ( [0] => 1 [1] => 2 )
Zusammenfassung
Es gibt viele Möglichkeiten, den Unterschied zwischen zwei Arrays in PHP zu ermitteln, einschließlich der Verwendung der Funktion array_diff(), der Schleife und in_array ()-Funktion, array_diff_key()-Funktion und array_udiff()-Funktion. Wählen Sie die geeignete Methode zur Implementierung der Differenzberechnung basierend auf spezifischen Anforderungen und Leistungsanforderungen aus .
Das obige ist der detaillierte Inhalt vonSo finden Sie den Unterschied zwischen zwei Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!