Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie identische Elemente aus zwei Arrays in PHP

So entfernen Sie identische Elemente aus zwei Arrays in PHP

PHPz
PHPzOriginal
2023-04-26 14:21:501048Durchsuche

Das Entfernen identischer Elemente aus zwei Arrays ist eine sehr häufige Aufgabe in PHP. Normalerweise können wir die in PHP integrierten Funktionen verwenden, um diese Aufgabe zu erfüllen. In diesem Artikel zeige ich Ihnen, wie Sie mit unterschiedlichen Methoden identische Elemente aus zwei Arrays entfernen.

Methode 1: array_diff()-Funktion

PHPs integrierte array_diff()-Funktion kann leicht den Unterschied zwischen zwei Arrays finden. Mit dieser Funktion können wir die verschiedenen Elemente in zwei Arrays finden.

Hier ist ein Beispiel:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

$result = array_diff($array1, $array2);

print_r($result);

Die Ausgabe lautet:

Array
(
    [1] => banana
    [2] => orange
)

Das bedeutet, dass die Elemente „Banane“ und „Orange“ in $array1 nicht in $array2 sind.

Methode Zwei: Verwenden einer Schleife

Eine andere Lösung besteht darin, eine Schleife zu verwenden, um beide Arrays zu durchlaufen und identische Elemente zu entfernen. Hier können wir die foreach-Schleifenanweisung verwenden, um das Array zu durchlaufen, und mit der Funktion in_array() prüfen, ob das gleiche Element im Array vorhanden ist.

Hier ist ein Beispiel:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

foreach ($array1 as $key => $value) {
    if (in_array($value, $array2)) {
        unset($array1[$key]);
    }
}

print_r($array1);

Die Ausgabe lautet:

Array
(
    [1] => banana
    [2] => orange
)

Dies ist das gleiche Ergebnis wie bei Verwendung der Funktion array_diff(). In diesem Beispiel verwenden wir die foreach-Schleifenanweisung, um das erste Array zu durchlaufen, und verwenden die Funktion in_array(), um zu prüfen, ob das gleiche Element im zweiten Array vorhanden ist. Wenn dasselbe Element vorhanden ist, können wir die Funktion unset() verwenden, um das Element aus dem ersten Array zu entfernen.

Methode 3: Verwenden Sie die Funktion array_filter()

Wir können die in PHP integrierte Funktion array_filter() verwenden, um Array-Elemente abzurufen, die bestimmte Bedingungen erfüllen. Wir können diese Funktion verwenden, um die verschiedenen Elemente zwischen zwei Arrays abzurufen.

Hier ist ein Beispiel:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

$result = array_filter($array1, function ($value) use ($array2) {
    return !in_array($value, $array2);
});

print_r($result);

Die Ausgabe lautet:

Array
(
    [1] => banana
    [2] => orange
)

Dies ist das gleiche Ergebnis wie bei Verwendung der Funktion array_diff(). In diesem Beispiel verwenden wir die Funktion array_filter(), um die Elemente im ersten Array abzurufen, die nicht mit denen im zweiten Array identisch sind. Wir haben eine anonyme Funktion erstellt, die mithilfe der Funktion in_array() prüft, ob sich der Wert im zweiten Array befindet. Wenn nicht, geben wir true zurück, d. h. die angegebene Bedingung ist erfüllt und der Wert bleibt im Ergebnisarray erhalten.

Fazit

Die oben genannten sind drei häufig verwendete Methoden, bei denen in PHP integrierte Funktionen oder Schleifen verwendet werden, um identische Elemente aus zwei Arrays zu entfernen. Sie können die geeignete Methode entsprechend Ihren tatsächlichen Anforderungen auswählen. Egal für welche Methode Sie sich entscheiden, diese Aufgabe lässt sich problemlos erledigen und ich hoffe, dass dieser Artikel für Sie hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie identische Elemente aus zwei Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn