So vergleichen Sie zwei Arrays in PHP

PHPz
Freigeben: 2023-04-18 10:02:02
Original
2205 Leute haben es durchsucht

PHP ist eine weit verbreitete serverseitige Skriptsprache, die häufig bei der Website-Entwicklung und Dateninteraktion eingesetzt wird. Der Vergleich zweier Arrays gehört ebenfalls zu den Grundoperationen. In diesem Artikel werden verschiedene Methoden zum Vergleichen zweier Arrays vorgestellt.

1. Verwenden Sie die Operatoren == und ===.

Die Verwendung der Operatoren „==" und „===" ist eine gängige Methode zum Vergleichen zweier Arrays. Der Unterschied zwischen den beiden Operatoren besteht darin, dass der Operator „==" vergleicht, ob die Schlüsselwerte der beiden Arrays gleich sind, während der Operator „===" auch vergleicht, ob die Typen der beiden Arrays gleich sind Dasselbe.

Angenommen, es gibt zwei Arrays, $arr1 = array(1, 2, 3); und $arr2 = array(1, 2, 3);, dann verwenden Sie den Operator „==", um die beiden Arrays zu vergleichen :

if($arr1 == $arr2){

echo "两个数组相同";
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}else{

echo "两个数组不同";
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

Wenn Sie den Operator „===" verwenden, um zwei Arrays zu vergleichen:

if($arr1 === $ arr2){

echo "两个数组相同";
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}else{

echo "两个数组不同";
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

2 Verwenden Sie die Funktion array_diff

Die Verwendung der Funktion array_diff ist auch eine Möglichkeit, zwei Arrays zu vergleichen. Diese Funktion gibt ein neues Array zurück, das aus den Elementen in Array1 besteht, die nicht in Array2 enthalten sind.

Angenommen, es gibt zwei Arrays, $arr1 = array(1, 2, 3); und $arr2 = array(2, 3);, dann verwenden Sie die Funktion array_diff, um die beiden Arrays zu vergleichen:

$diff = array_diff( $arr1, $arr2);
if(count($diff) == 0){

echo "两个数组相同";
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}else{

echo "两个数组不同";
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

Im obigen Beispiel, wenn die Länge des $diff-Arrays 0 ist Dies bedeutet, dass die Elemente von $arr1 und $arr2 gleich sind und „die beiden Arrays gleich“ ausgegeben werden. Andernfalls bedeutet dies, dass die Elemente von $arr1 und $arr2 unterschiedlich sind und „die beiden Arrays unterschiedlich sind“. " werden ausgegeben.

3. Verwenden Sie die Funktion array_intersect

Die Verwendung der Funktion array_intersect ist auch eine Möglichkeit, zwei Arrays zu vergleichen. Diese Funktion gibt ein neues Array zurück, das aus Elementen besteht, die sowohl in Array1 als auch in Array2 enthalten sind.

Angenommen, es gibt zwei Arrays, $arr1 = array(1, 2, 3); und $arr2 = array(2, 3);, dann verwenden Sie die Funktion array_intersect, um die beiden Arrays zu vergleichen:

$intersect = array_intersect( $arr1, $arr2);
if(count($intersect) == count($arr1)){

echo "两个数组相同";
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}else{

echo "两个数组不同";
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

Im obigen Beispiel, wenn die Anzahl der Elemente in Das $intersect-Array ist gleich der Anzahl der Elemente in $arr1, was bedeutet, dass die Elemente von $arr1 und $arr2 gleich sind, und die Ausgabe lautet „Die beiden Arrays sind gleich“. Andernfalls bedeutet dies, dass die Elemente von $arr1 und $arr2 gleich sind $arr1 und $arr2 sind unterschiedlich und die Ausgabe lautet „Die beiden Arrays sind unterschiedlich.“

4. Verwenden Sie die Funktion array_udiff.

Die Verwendung der Funktion array_udiff ist auch eine Möglichkeit, zwei Arrays zu vergleichen. Diese Funktion vergleicht die Elemente in Array 1 mit den Elementen in Array 2 und wenn die beiden Elemente als gleich betrachtet werden, werden sie nicht in das resultierende Array aufgenommen.

Angenommen, es gibt zwei Arrays, $arr1 = array(1, 2, 3); und $arr2 = array(2, 3);, dann verwenden Sie die Funktion array_udiff, um die beiden Arrays zu vergleichen:

$diff = array_udiff( $arr1, $arr2, function($a, $b){

if($a === $b){
    return 0;
}
return ($a > $b) ? 1 : -1;
Nach dem Login kopieren

});

Wenn die Länge des $diff-Arrays 0 ist, bedeutet dies, dass die Elemente von $arr1 und $arr2 die sind gleich, und die Ausgabe lautet „Die beiden Arrays sind gleich“, andernfalls bedeutet dies, dass die Elemente von $arr1 und $arr2 unterschiedlich sind und die Ausgabe „Die beiden Arrays sind unterschiedlich“ lautet.

Zusammenfassung

Oben werden vier Methoden zum Vergleichen zweier Arrays vorgestellt. Jede Methode hat ihre Vor- und Nachteile. Durch den Einsatz verschiedener Methoden können wir je nach Anwendungsszenario die am besten geeignete Methode auswählen. Gleichzeitig ist zu beachten, dass beim Vergleich zweier Arrays, insbesondere bei Verwendung des Operators „==“, auf die Reihenfolge der Elemente im Array geachtet werden muss, da die unterschiedliche Reihenfolge der Elemente im Array ebenfalls dazu führen kann Arrays unterschiedlich sein.

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

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage