Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie dieselben Elemente aus zwei Arrays in PHP

So entfernen Sie dieselben Elemente aus zwei Arrays in PHP

PHPz
PHPzOriginal
2023-04-24 09:07:12995Durchsuche

In der PHP-Programmierung sind Arrays sehr praktische Datentypen. Allerdings können wir auf einige Schwierigkeiten stoßen, wenn wir identische Elemente aus zwei Arrays entfernen müssen. In diesem Artikel werden drei Methoden zum Entfernen identischer Elemente aus zwei Arrays vorgestellt.

Methode 1: Verwenden Sie die Funktion array_intersect

Die Funktion array_intersect ist eine in PHP integrierte Funktion, mit der Sie die Schnittmenge zwischen zwei oder mehr Arrays ermitteln können. Diese Funktion gibt ein neues Array zurück, das die Elemente enthält, die in beiden Arrays vorhanden sind.

Auf dieser Grundlage können wir diese koexistierenden Elemente über die Funktion array_diff entfernen. Die Funktion array_diff besteht darin, die Differenz zwischen zwei Arrays zu ermitteln und ein neues Array zurückzugeben.

Codebeispiel:

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$intersect_array = array_intersect($first_array, $second_array);
$result_array = array_diff($first_array, $intersect_array);

print_r($result_array);

Laufergebnis:

Array
(
    [1] => banana
    [3] => peach
)

Methode 2: Verwenden Sie die Funktion array_unique

Die Funktion array_unique ist eine in PHP integrierte Funktion, mit der doppelte Elemente aus einem Array entfernt und ein neues Array zurückgegeben werden.

Wenn wir dieselben Elemente aus zwei Arrays entfernen, können wir die beiden Arrays zu einem neuen Array zusammenführen und dann die Funktion array_unique verwenden, um Duplikate zu entfernen. Das neue Array enthält nach der Deduplizierung nur Elemente, die sich von den beiden ursprünglichen Arrays unterscheiden.

Codebeispiel:

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$merged_array = array_merge($first_array, $second_array);
$result_array = array_unique($merged_array);

print_r($result_array);

Laufergebnis:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => peach
    [5] => pear
    [6] => grape
)

Methode 3: Benutzerdefinierte Funktion verwenden

Wenn wir die integrierte Funktion von PHP nicht verwenden möchten, können wir auch selbst eine Funktion schreiben, um dieselben Elemente aus dem zu entfernen zwei Arrays.

Die Implementierung dieser Funktion ist sehr einfach. Sie müssen nur das erste Array durchlaufen und feststellen, ob das Element im zweiten Array erscheint.

Codebeispiel:

function remove_duplicate_elements($first_array, $second_array) {
    foreach ($first_array as $key => $value) {
        if (in_array($value, $second_array)) {
            unset($first_array[$key]);
        }
    }
    return $first_array;
}

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$result_array = remove_duplicate_elements($first_array, $second_array);

print_r($result_array);

Laufergebnis:

Array
(
    [1] => banana
    [3] => peach
)

Zusammenfassung

Bei der PHP-Programmierung ist das Entfernen derselben Elemente aus zwei Arrays ein häufiger Vorgang. In diesem Artikel werden drei Methoden zum Erreichen dieses Ziels vorgestellt, nämlich die Verwendung der Funktionen array_intersect und array_diff, die Verwendung der Funktion array_unique und benutzerdefinierte Funktionen. Wir können je nach tatsächlichem Bedarf verschiedene Methoden wählen. Die Implementierung dieser Methoden ist sehr einfach, die Optimierung und Leistung des Programms muss jedoch weiter verbessert werden.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie dieselben 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