Die Funktion array_diff_uassoc()
wird verwendet, um die Schlüsselnamen und Schlüsselwerte von zwei (oder mehr) Arrays zu vergleichen und den Differenzsatz zurückzugeben.
HINWEIS: Diese Funktion verwendet eine benutzerdefinierte Funktion, um Schlüsselnamen zu vergleichen!
Die Funktion vergleicht die Schlüsselnamen und Schlüsselwerte von zwei (oder mehr) Arrays und gibt ein Array von Unterschieden zurück, die alle Schlüsselnamen und Schlüsselwerte in dem zu verglichenen Array enthalten ( Array1 ), jedoch nicht in einem anderen Parameter -Array ( Array2 oder Array3 usw.).
Vergleichen Sie die Schlüsselnamen und Schlüsselwerte von zwei Arrays (unter Verwendung von benutzerdefinierten Funktionen zum Vergleichen von Schlüsselnamen) und geben Sie die Differenz zurück:
<? Php Funktion myfunktion ( $ a , $ b ) { if ( $ a === $ b ) { Rückkehr 0 ; } Return ( $ a > $ b ) ? 1 : - 1 ; } $ a1 = array ( "a" => "rot" , "b" => "grün" , "c" => "blau" ) ; $ a2 = array ( "d" => "rot" , "b" => "grün" , "e" => "blau" ) ; $ result = Array_Diff_Uassoc ( $ A1 , $ A2 , "MyFunction" ) ; print_r ( $ result ) ; ?>
Probieren Sie es selbst aus
Vergleichen Sie die Schlüsselnamen und Schlüsselwerte von drei Arrays (unter Verwendung von benutzerdefinierten Funktionen zum Vergleichen von Schlüsselnamen) und geben Sie die Differenz zurück:
<? Php Funktion myfunktion ( $ a , $ b ) { if ( $ a === $ b ) { Rückkehr 0 ; } Return ( $ a > $ b ) ? 1 : - 1 ; } $ a1 = array ( "a" => "rot" , "b" => "grün" , "c" => "blau" ) ; $ a2 = array ( "a" => "rot" , "b" => "grün" , "d" => "blau" ) ; $ a3 = array ( "e" => "gelb" , "a" => "rot" , "d" => "blau" ) ; $ result = Array_Diff_Uassoc ( $ A1 , $ A2 , $ A3 , "MyFunction" ) ; print_r ( $ result ) ; ?>
Probieren Sie es selbst aus
array_diff_uassoc ( array1 , array2 , array3 ... , myfunction ) ;
Parameter | beschreiben |
---|---|
Array1 | Erforderlich. Das erste Array, das mit anderen Arrays verglichen wird. |
Array2 | Erforderlich. Das Array, das mit dem ersten Array verglichen wird. |
Array3 , ... | Optional. Andere Arrays, die mit dem ersten Array verglichen werden. |
Myfunktion | Erforderlich. Definiert eine Zeichenfolge, die die Vergleichsfunktion aufruft. Wenn der erste Parameter kleiner als der zweite Parameter ist, muss die Vergleichsfunktion eine Ganzzahl weniger als gleich oder höher als 0 zurückgeben. |
Die Funktion array_diff_uassoc()
verwendet eine benutzerdefinierte Rückruffunktion (Rückruf), um Indexprüfungen durchzuführen, um die Differenz zwischen zwei oder mehr Arrays zu berechnen. Gibt ein Array zurück, das Werte in Array1 enthält, jedoch nicht in einem anderen Parameterarray.
Beachten Sie, dass im Gegensatz zur Funktion array_diff()
auch die Schlüsselnamen verglichen werden müssen.
Die Parameter- Myfunktion ist eine benutzerdefinierte Funktion, mit der zwei Arrays verglichen werden. Die Funktion muss zwei Parameter annehmen - dh die beiden zu verglichenen Schlüsselnamen. Daher ist das Verhalten genau das Gegenteil des Funktionsarray_Diff_assoc array_diff_assoc()
, der mit internen Funktionen verglichen wird.
Der zurückgegebene Schlüsselname bleibt unverändert.