In PHP müssen wir manchmal zwei Index-Arrays vergleichen, z. B. um zu prüfen, ob zwei Arrays denselben Wert oder Schlüssel haben, oder um zu vergleichen, ob ihre Elemente genau gleich sind. Wie sollen wir also in PHP zwei Indexarrays vergleichen?
Methode 1: Verwenden Sie die Funktion array_diff(), um einen Differenzvergleich durchzuführen. Die Funktion array_diff() kann zum Vergleichen der Differenzmenge von zwei oder mehr Arrays verwendet werden. Sie gibt die Differenzmenge zurück, die im ersten Array vorhanden ist, jedoch nicht in allen andere Arrays. Ein Wert, der in nicht existiert.
Zum Beispiel kann der folgende Code zwei Arrays $a und $b vergleichen und die Differenz zwischen ihnen zurückgeben:
$a = array("apple", "banana", "orange"); $b = array("apple", "pear", "grape"); $diff = array_diff($a, $b); print_r($diff);
Das Ausgabeergebnis ist:
Array ( [1] => banana [2] => orange )
Wir können sehen, dass das $diff-Ergebnis die Werte in $ enthält a Werte, die im Array vorhanden sind, aber nicht im $b-Array (d. h. „Banane“ und „Orange“).
Wenn wir den Schnittpunkt oder die Vereinigung zweier Arrays vergleichen müssen, können wir dazu auch die Funktionen array_intersect() und array_merge() verwenden.
Methode 2: Verwenden Sie eine Schleife, um sie einzeln zu vergleichen.
Eine andere Möglichkeit, zwei Indexarrays zu vergleichen, besteht darin, eine Schleife zu verwenden, um ihre Elemente einzeln zu vergleichen. Wir können eine for-Schleife oder eine foreach-Schleife verwenden, um das Array zu durchlaufen und ihre Werte oder Schlüssel-Wert-Paare einzeln zu vergleichen, um zu sehen, ob sie gleich sind.
Der folgende Code zeigt, wie man eine foreach-Schleife verwendet, um zwei Arrays $a und $b zu durchlaufen und zu vergleichen, ob ihre Werte gleich sind:
$a = array("apple", "banana", "orange"); $b = array("apple", "pear", "grape"); $result = true; foreach ($a as $key => $value) { if (!isset($b[$key]) || $b[$key] != $value) { $result = false; break; } } if ($result) { echo "两个数组的元素完全相同!"; } else { echo "两个数组的元素不完全相同!"; }
Das Ausgabeergebnis ist:
两个数组的元素不完全相同!
Im obigen Code verwenden wir a foreach-Schleife, um das Array $a zu durchlaufen, und verwenden Sie die Funktion isset(), um zu prüfen, ob derselbe Schlüssel wie das Array $a im Array $b vorhanden ist. Wenn es nicht existiert, bedeutet das, dass die Elemente der Arrays $a und $b nicht genau gleich sind.
Gleichzeitig vergleichen wir nacheinander die Elemente mit demselben Schlüssel in den Arrays $a und $b, um festzustellen, ob sie gleich sind. Wenn sie nicht gleich sind, sind auch ihre Elemente unterschiedlich.
Es ist zu beachten, dass die beiden oben genannten Methoden zum Vergleich zweier Indexarrays geeignet sind. Wenn Sie zwei assoziative Arrays vergleichen müssen, können Sie die Funktion array_diff_assoc() verwenden oder sie manuell durchlaufen, um sie einzeln zu vergleichen.
Das obige ist der detaillierte Inhalt vonSo vergleichen Sie zwei Index-Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!