Heim > Artikel > tägliche Programmierung > So vergleichen Sie zwei mehrdimensionale PHP-Arrays
Bestimmen Sie, ob zwei mehrdimensionale Arrays gleich sind oder welche Elemente unterschiedlich sind. Wir können einen Vergleich durch die Funktion array_udiff(), die Methode create_function(), strcmp() und andere Funktionen in PHP erreichen.
Im Folgenden stellen wir die Methode zum Vergleich zweier zweidimensionaler Arrays anhand spezifischer Codebeispiele vor.
Das Codebeispiel lautet wie folgt:
<?php //多维数组比较 $color1 = array(array('Red',80),array('Green',70),array('white',60)); $color2 = array(array('Green',70),array('Black',95)); $color = array_udiff($color1,$color2,create_function( '$a,$b','return strcmp(implode("",$a),implode("",$b));') ); echo "<pre class="brush:php;toolbar:false">"; print_r($color);
In diesem Code können wir die verschiedenen Array-Elemente des Arrays $color1 im Vergleich zum Array $color2 herausfinden.
Die Ergebnisse des Ausgabevergleichs lauten wie folgt:
Funktionseinführung:
1. array_udiff: Verwenden Sie die Rückruffunktion, um Daten zu vergleichen und den Differenzsatz des Arrays zu berechnen.
array_udiff ( array $array1 , array $array2 [, array $... ], callable $value_compare_func ) : array
Verwenden Sie die Rückruffunktion, um die Daten zu vergleichen und die Differenz zu berechnen im Array. Im Gegensatz zu array_diff() verwendet ersteres integrierte Funktionen für den Datenvergleich.
Der Parameter array1 repräsentiert das erste Array. array2 zweites Array. value_compare_func Callback-Vergleichsfunktion.
Wenn das erste Argument kleiner, gleich oder größer als das zweite Argument ist, muss die Vergleichsfunktion entsprechend eine Ganzzahl kleiner, gleich oder größer als 0 zurückgeben.
Callback ( Mixed $a, Mixed $b ): int
Rückgabewert, gibt alle Werte in Array1 zurück, die nicht in anderen Parametern vorkommen.
2, create_function: Anonyme Funktion erstellen
create_function ( string $args , string $code ): string
Anonyme Funktion basierend auf den übergebenen Parametern erstellen und angeben Es gibt einen eindeutigen Namen zurück.
Normalerweise werden diese Parameter als durch einfache Anführungszeichen getrennte Zeichenfolgen übergeben. Der Grund für die Verwendung von Zeichenfolgen in einfachen Anführungszeichen besteht darin, den Variablennamen vor dem Parsen zu schützen, der sonst bei Verwendung von doppelten Anführungszeichen maskiert werden müsste, z. B. $avar.
args repräsentiert Funktionsparameter. Code stellt Funktionscode dar.
Der Rückgabewert ist ein eindeutiger Funktionsname in Form einer Zeichenfolge oder eines FALSE-Fehlers.
3. strcmp: Binärer sicherer String-Vergleich
strcmp ( string $str1 , string $str2 ) : int
Beachten Sie, dass bei diesem Vergleich die Groß-/Kleinschreibung beachtet wird.
Der Parameter str1 repräsentiert die erste Zeichenfolge. str2 repräsentiert die zweite Zeichenfolge.
Der Rückgabewert lautet: Wenn str1 kleiner als str2 ist, wird
4. implodieren: Konvertieren Sie den Wert eines eindimensionalen Arrays in einen String
Dieser Artikel ist eine Einführung in die Methode zum Vergleichen zweier mehrdimensionaler PHP-Arrays . Es ist auch sehr nützlich und leicht zu verstehen, ich hoffe, es wird Freunden in Not helfen!
Das obige ist der detaillierte Inhalt vonSo vergleichen Sie zwei mehrdimensionale PHP-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!