Array Funktionen
PHP Manual

array_diff_uassoc

(PHP 5, PHP 7)

array_diff_uassocBerechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird

Beschreibung

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

Vergleicht array1 mit array2 und gibt den Unterschied zurück. Im Gegensatz zu array_diff() werden die Arrays anhand ihrer Schlüssel verglichen.

Im Gegensatz zu array_diff_assoc() wird für den Vergleich der Indizes keine interne Funktion verwendet, sondern eine benutzerdefinierte Callback-Funktion.

Parameter-Liste

array1

Das Array für den Vergleich.

array2

Das Array, das damit verglichen wird.

...

Weitere Arrays, die damit verglichen werden.

key_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt ein array zurück, welches alle Werte aus array1 enthält, die in keinem der anderen Arrays enthalten sind.

Beispiele

Beispiel #1 array_diff_uassoc()-Beispiel

Das "a" => "gruen"-Paar ist in beiden Arrays enthalten und daher nicht in der Ausgabe der Funktion. Im Gegensatz dazu ist das Paar 0 => "rot" in der Ausgabe, weil "rot" im zweiten Argument 1 als Schlüssel hat.

<?php
function key_compare_func($a$b)
{
    if (
$a === $b) {
        return 
0;
    }
    return (
$a $b)? 1:-1;
}

$array1 = array("a" => "gruen""b" => "braun""c" => "blau""rot");
$array2 = array("a" => "gruen""gelb""rot");
$ergebnis array_diff_uassoc($array1$array2"key_compare_func");
print_r($ergebnis);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [b] => braun
    [c] => blau
    [0] => rot
)

Die Gleichheit von zwei Indizes wird durch die benutzerdefinierte Callback-Funktion überprüft.

Anmerkungen

Hinweis:

Diese Funktion prüft nur eine Dimension eines n-dimensionalen Arrays. Natürlich können tiefere Ebenen überprüft werden, indem zum Beispiel array_diff_uassoc($array1[0], $array2[0], "key_compare_func"); verwendet wird.

Siehe auch


Array Funktionen
PHP Manual