PHP 5.3.0 und höher
Diese Funktion wird verwendet, um den Differenzsatz eines Arrays zu berechnen und Elemente zurückzugeben, die im ersten Array vorhanden sind, jedoch nicht in anderen Arrays. Es ähnelt Array_Diff (), vergleicht jedoch die Schlüsselnamen des Arrays über eine benutzerdefinierte Rückruffunktion.
<span class="fun">Array_Diff_Uassoc (Array $ Array1, Array $ Array2, Array ... $ Arrays, Callable $ key_compare_func): Array</span>
Gibt ein Array zurück, das Elemente enthält, die im ersten Array, jedoch nicht in anderen Arrays, erscheinen. Die Schlüssel des Arrays bleiben so wie sie sind.
$array1 = ["a" => 1, "b" => 2, "c" => 3]; $array2 = ["a" => 1, "b" => 2];
$ result = array_diff_uassoc ($ array1, $ array2, function ($ key1, $ key2) {<br>
return strcmp ($ key1, $ key2);<br>
});</p>
<p>print_r ($ result);<br>
In diesem Beispiel sind $ array1 und $ array2 beide assoziative Arrays. Wir vergleichen ihre Schlüssel über eine Rückruffunktion. Die Rückruffunktion verwendet STRCMP, um Schlüsselnamen zu vergleichen und das Ergebnis zurückzugeben. Wenn der erste Schlüssel kleiner als der zweite Schlüssel ist, gibt STRCMP einen negativen Wert zurück. Wenn es gleich ist, geben Sie 0 zurück; Wenn der erste Schlüssel größer als der zweite Schlüssel ist, geben Sie einen positiven Wert zurück. Schließlich gibt Array_Diff_Uassoc ein Array zurück, das Elemente enthält, die nur im ersten Array existieren, und die Schlüssel dieser Elemente befinden sich nicht im zweiten Array.