Die Funktion array_intersect_uassoc()
wird verwendet, um die Schlüsselnamen und Schlüsselwerte von zwei (oder mehr) Arrays zu vergleichen und die Kreuzung 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 Kreuzungs -Array zurück, das alle Schlüsselnamen und Schlüsselwerte in dem zu verglichenen Array ( Array1 ) sowie in einem anderen Parameter -Array ( Array2 oder Array3 usw.) enthält.
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 Kreuzung 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_intersect_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 Kreuzung 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_intersect_uassoc ( $ a1 , $ a2 , $ a3 , "myfunction" ) ; print_r ( $ result ) ; ?>
Probieren Sie es selbst aus
Array_intersect_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_intersect_uassoc()
verwendet eine benutzerdefinierte Rückruffunktion, um den Schnittpunkt des Arrays zu berechnen und die Indizes mit der Rückruffunktion zu vergleichen.
array_intersect_uassoc()
gibt ein Array zurück, das alle Werte enthält, die in Array1 gleichzeitig in allen anderen Parameter -Arrays angezeigt werden. Der zurückgegebene Schlüsselname bleibt unverändert.
Beachten Sie, dass die Differenz von array_intersect()
darin besteht, dass zusätzlich zum Vergleich der Schlüsselwerte auch die Schlüsselnamen verglichen werden müssen.
Dieser Vergleich erfolgt über eine von Benutzer bereitgestellte Rückruffunktion. Diese Funktion nimmt zwei Parameter vor, nämlich die beiden zu verglichenen Schlüsselnamen. Wenn der erste Parameter kleiner als der zweite Parameter ist, gibt die Funktion eine negative Zahl zurück. Wenn die beiden Parameter gleich sind, gibt sie 0 zurück, und wenn der erste Parameter größer als der zweite Parameter ist, gibt er eine positive Zahl zurück.