Vergleichen Sie die Schlüsselnamen und Schlüsselwerte zweier Arrays (verwenden Sie zum Vergleich eine benutzerdefinierte Funktion) und geben Sie die Differenz zurück:
<?phpfunction myfunction_key($a,$b){if ($a===$b) { return 0; } return ($a>$b)?1:-1;}function myfunction_value($a,$b ){if ($a===$b) { return 0 } return ($a>$b)?1:-1;}$a1=array("a"=>"rot",b"=>"grün",c"=>"blau");$a2= array("a"=>"rot",b"=>"grün",c"=> "green");$result=array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value");print_r($result);?>Die Funktion array_udiff_uassoc() wird verwendet, um die Schlüsselnamen und Schlüsselwerte von zwei (oder mehr) Arrays zu vergleichen und die Differenz zurückzugeben.
Hinweis: Diese Funktion verwendet zwei benutzerdefinierte Funktionen zum Vergleich; die erste Funktion vergleicht Schlüsselnamen und die zweite Funktion vergleicht Schlüsselwerte!
Diese Funktion vergleicht die Schlüssel und Werte von zwei (oder mehr) Arrays und gibt ein Differenzarray zurück, das alle Elemente im verglichenen Array ( array1 ), aber nicht in einem der anderen Argumentarrays ( array2 oder array3 usw.) im enthält Schlüsselname und Schlüsselwert.
array_udiff_uassoc( array1,array2,array3...,myfunction_key,myfunction_value )
Parameter | beschreiben |
---|---|
array1 | Erforderlich. Das erste Array, das mit anderen Arrays verglichen wird. |
array2 | Erforderlich. Das Array, das mit dem ersten Array verglichen werden soll. |
array3,... | Optional. Zusätzliches Array zum Vergleich mit dem ersten Array. |
myfunction_key | Erforderlich. Der Name der benutzerdefinierten Funktion, die zum Vergleichen von Array-Schlüsselnamen verwendet wird. Eine Zeichenfolge, die eine aufrufbare Vergleichsfunktion definiert. Wenn der erste Parameter <, =, > der zweite Parameter ist, muss die entsprechende Vergleichsfunktion eine Ganzzahl <, =, > 0 zurückgeben. |
meinFunktionswert | Erforderlich. Der Name der benutzerdefinierten Funktion, die zum Vergleichen von Array-Schlüsselwerten verwendet wird. Eine Zeichenfolge, die eine aufrufbare Vergleichsfunktion definiert. Wenn der erste Parameter <, =, > der zweite Parameter ist, muss die entsprechende Vergleichsfunktion eine Ganzzahl <, =, > 0 zurückgeben. |
Rückgabewert: | Gibt ein Differenzarray zurück, das alle Schlüssel und Werte enthält, die im verglichenen Array ( array1 ), aber nicht in einem anderen Parameterarray ( array2 oder array3 usw.) enthalten sind. |
---|---|
PHP-Version: | 5+ |