Heim  >  Artikel  >  Backend-Entwicklung  >  PHP findet verschiedene Array-Elemente

PHP findet verschiedene Array-Elemente

王林
王林Original
2023-05-06 14:07:07575Durchsuche

In PHP müssen Sie manchmal die verschiedenen Elemente zwischen zwei Arrays finden. Für dieses Problem kann es mehrere Lösungen geben. Im Folgenden werden einige gängige Lösungen beschrieben.

Methode 1: Verwenden Sie die Funktion array_diff

In PHP gibt es eine integrierte Funktion array_diff, mit der Sie verschiedene Elemente zwischen zwei Arrays vergleichen können.

Die Syntax dieser Funktion lautet wie folgt:

array array_diff ( array $array1 , array $array2 [, array $... ] )

Davon ist $array1 das erste Array, $array2 das zweite Array, [,array $...] das optionale dritte und vierte,… ... Array.

Diese Funktion gibt ein Array zurück, das alle Elemente enthält, die im ersten Array erscheinen, aber nicht in nachfolgenden Arrays enthalten sind.

Das Folgende ist ein Beispiel für die Verwendung der Funktion array_diff, um verschiedene Elemente zu finden:

$array1 = array("a", "b", "c", "d", "e");
$array2 = array("a", "b", "c", "f", "g");
$result = array_diff($array1, $array2);
print_r($result);

Die Ausgabe des obigen Codes ist:

Array
(
    [3] => d
    [4] => e
)

Methode 2: Verwenden Sie eine foreach-Schleife zum Durchlaufen

Eine andere Methode ist die Verwendung einer foreach-Schleife Um zwei Arrays zu durchlaufen, vergleichen Sie jedes ihrer Elemente. Dazu muss ein Zähler verwendet werden, um die Anzahl unterschiedlicher Elemente zu markieren und sie in einem neuen Array zu speichern.

Das Folgende ist ein Beispiel für die Verwendung einer foreach-Schleife zum Durchlaufen, um verschiedene Elemente zu finden:

$array1 = array("a", "b", "c", "d", "e");
$array2 = array("a", "b", "c", "f", "g");
$diff = array();
$count = 0;

foreach($array1 as $val){
    if(!in_array($val, $array2)){
        $diff[$count] = $val;
        $count++;
    }
}

foreach($array2 as $val){
    if(!in_array($val, $array1){
        $diff[$count] = $val;
        $count++;
    }
}

print_r($diff);

Die Ausgabe des obigen Codes lautet:

Array
(
    [0] => d
    [1] => e
    [2] => f
    [3] => g
)

Methode 3: Verwenden Sie die Funktionen array_merge und array_unique.

Diese Methode dient zum Zusammenführen Fügen Sie zwei Arrays zu einem Array zusammen und verwenden Sie dann die Funktion array_unique, um die verschiedenen Elemente zu finden.

Das Folgende ist ein Beispiel für die Verwendung der Funktionen array_merge und array_unique, um verschiedene Elemente zu finden:

$array1 = array("a", "b", "c", "d", "e");
$array2 = array("a", "b", "c", "f", "g");
$union = array_merge($array1, $array2);
$diff = array_unique($union);

print_r($diff);

Die Ausgabe des obigen Codes lautet:

Array
(
    [3] => d
    [4] => e
    [5] => f
    [6] => g
)

Zusammenfassung

Die oben genannten sind drei Möglichkeiten, verschiedene Elemente zu finden. Unter diesen ist die Funktion array_diff die einfachste und am einfachsten zu verwendende Methode. Sie müssen ihr nur zwei Arrays übergeben, um verschiedene Elemente zu erhalten. Obwohl die Verwendung der foreach-Schleifendurchquerung das Schreiben von mehr Code erfordert, ist die Ausführungsgeschwindigkeit des Codes schneller als die der Funktion array_diff. Obwohl der Code für die Verwendung der Funktionen array_merge und array_unique einfach ist, muss schließlich ein neues Array im Speicher erstellt werden, um Daten zu speichern, was zu Leistungsproblemen führen kann. Daher müssen Sie bei der Verwendung über Ihre Wahl nachdenken.

Das obige ist der detaillierte Inhalt vonPHP findet verschiedene Array-Elemente. 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
Vorheriger Artikel:PHP ist im Array vorhandenNächster Artikel:PHP ist im Array vorhanden