array_diff_uassoc
Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung,
welche durch eine benutzerdefinierte Funktion vorgenommen wird
&reftitle.description;
arrayarray_diff_uassoc
arrayarray1
arrayarray2
array...
callbackkey_compare_func
array_diff_uassoc gibt ein array zurück,
welches alle Werte aus array1 enthält, die in keinem
der anderen Argumente enthalten sind. Beachten Sie, dass die Schlüssel anders
als von array_diff in den Vergleich einbezogen werden.
Dieser Vergleich wird von einer benutzerdefinierten Callbackfunktion
durchgeführt. Diese muss einen Integer kleiner als, genau gleich oder
größer als Null zurückgeben, wenn das erste Argument entsprechend als
kleiner, gleich oder größer als das Zweite betrachtet wird. Dies ist anders
als array_diff_assoc, in der eine eingebaute Funktion
für den Vergleich der Indizes verwendet wird.
array_diff_uassoc Beispiel
$b)? 1:-1;
}
$array1 = array("a" => "gruen", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "gruen", "gelb", "rot");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>
]]>
&example.outputs;
braun
[c] => blau
[0] => rot
)
]]>
In unserem obigen Beispiel sieht man dass das
"a" => "gruen" Paar in beiden Arrays enthalten ist
und daher nicht in der Ausgabe der Funktion auftaucht. Andererseits ist das
Paar 0 => "rot" in der Ausgabe, weil
"red" im zweiten Argument einen Schlüsselwert von
1 enthält.
Die Gleichheit von zwei Indizes wird von einer benutzerdefinierten
Callbackfunktion überprüft.
Bitte beachten Sie, dass diese Funktion nur eine Dimension eines
n-dimensionalen Arrays prüft. Natürlich kann man tiefere Dimensionen
überprüfen, indem man zum Beispiel
array_diff_uassoc($array1[0], $array2[0], "key_compare_func");
verwendet.
Siehe auch
array_diff,
array_diff_assoc,
array_udiff,
array_udiff_assoc,
array_udiff_uassoc,
array_intersect,
array_intersect_assoc,
array_uintersect,
array_uintersect_assoc und
array_uintersect_uassoc.