Heim  >  Artikel  >  Backend-Entwicklung  >  So vergleichen Sie zwei verschiedene Arrays in PHP

So vergleichen Sie zwei verschiedene Arrays in PHP

PHPz
PHPzOriginal
2023-04-24 17:12:03640Durchsuche

In PHP sind Arrays ein sehr wichtiger Datentyp. Sie ermöglichen die Speicherung einer Gruppe verwandter Datenelemente in derselben Variablen. Die Verwendung von Arrays kann die Lesbarkeit und Wartbarkeit Ihres Codes erheblich verbessern. Bei der tatsächlichen Programmierung ist es jedoch häufig erforderlich, mit Arrays zu arbeiten, beispielsweise um den Unterschied zwischen zwei Arrays zu ermitteln. In diesem Artikel erfahren Sie, wie Sie zwei verschiedene Arrays in PHP vergleichen.

Erstellen wir zunächst zwei verschiedene Arrays, um besser zu veranschaulichen, wie man sie vergleicht:

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

Schauen wir uns die Unterschiede zwischen diesen beiden Arrays an. Wir können die in PHP integrierte Funktion array_diff() verwenden, um die Unterschiede zwischen zwei Arrays zu ermitteln. Die Syntax dieser Funktion lautet wie folgt:

array_diff(array1, array2, array3...)

Unter diesen sind Array1, Array2, Array3 usw. die zu vergleichenden Arrays, und es können mehrere Arrays vorhanden sein.

Lassen Sie uns nun die Funktion array_diff() verwenden, um den Unterschied zwischen $array1 und $array2 zu ermitteln. Der Code lautet wie folgt:

$diff = array_diff($array1, $array2);
print_r($diff);

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [0] => apple
    [3] => pear
)

Wir können sehen, dass das Ausgabeergebnis die Differenz zwischen den beiden Arrays „apple“ und „pear“ in $array1 ist, die in $array2 nicht vorhanden sind .

Was wäre, wenn wir den Unterschied zwischen $array2 und $array1 ermitteln möchten? Wir müssen nur die Reihenfolge der Arrays im obigen Code ändern. Der Code lautet wie folgt:

$diff = array_diff($array2, $array1);
print_r($diff);

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [2] => grapefruit
)

Wir können sehen, dass das Ausgabeergebnis die Differenz zwischen den beiden Arrays „Grapefruit“ in $array2 ist, die in $array1 nicht vorhanden ist.

Bei der tatsächlichen Programmierung kann es vorkommen, dass Sie die Unterschiede zwischen mehreren Arrays vergleichen. An dieser Stelle können wir eine Variante der in PHP integrierten Funktion array_diff() verwenden: array_diff_key(), um Schlüssel-Wert-Paare zwischen mehreren Arrays zu vergleichen.

Die Syntax lautet wie folgt:

array_diff_key(array1, array2, array3...)

Schauen wir uns nun ein Beispiel an. Wir erstellen drei Arrays wie folgt:

$array1 = array("name" => "Tom", "age" => 20, "gender" => "male");
$array2 = array("name" => "Jack", "age" => 22, "gender" => "male", "hobby" => "swimming");
$array3 = array("name" => "Alice", "age" => 24, "gender" => "female", "hobby" => "reading");

Wir können die Funktion array_diff_key() verwenden, um die Unterschiede zwischen den oben genannten drei Arrays zu finden. Der Code lautet wie folgt:

$diff = array_diff_key($array1, $array2, $array3);
print_r($diff);

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [name] => Tom
    [age] => 20
    [gender] => male
)

Wir können sehen, dass das Ausgabeergebnis die Differenz zwischen den drei Arrays ist. Die Schlüssel-Wert-Paare in $array1 existieren nicht in $array2 und $ array3.

Lassen Sie uns abschließend darüber sprechen, was zu tun ist, wenn Sie dieselben Elemente gleichzeitig in zwei Arrays finden müssen. Zu diesem Zeitpunkt können wir die in PHP integrierte Funktion array_intersect() verwenden. Die Syntax dieser Funktion lautet wie folgt:

array_intersect(array1, array2, array3...)

Unter diesen sind Array1, Array2, Array3 usw. die zu vergleichenden Arrays, und es können mehrere Arrays vorhanden sein.

Schauen wir uns nun ein Beispiel an. Wir erstellen zwei Arrays wie folgt:

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

Wir können die Funktion array_intersect() verwenden, um die gleichen Elemente zwischen den beiden oben genannten Arrays zu finden. Der Code lautet wie folgt:

$intersect = array_intersect($array1, $array2);
print_r($intersect);

Das Ausgabeergebnis lautet wie folgt:

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

Wir können sehen, dass das Ausgabeergebnis die gemeinsamen Elemente der beiden Arrays sind, nämlich „Banane“ und „Orange“.

Oben erfahren Sie, wie Sie verschiedene PHP-Arrays vergleichen. Bei der eigentlichen Programmierung müssen wir anhand spezifischer Anforderungen auswählen, welche Methode wir für Array-Berechnungen verwenden möchten.

Das obige ist der detaillierte Inhalt vonSo vergleichen Sie zwei verschiedene 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