Funktion array_diff_assoc
Die Funktion array_diff_assoc vergleicht Arrays und gibt die Elemente des ersten Arrays zurück, die in den nachfolgenden Arrays nicht vorhanden sind, wobei sowohl Schlüssel als auch Werte berücksichtigt werden. Für den Vergleich wird ein strikter Vergleich (===) verwendet.
Syntax
array_diff_assoc(array $array1, array $array2, array ...$arrays): array
Beispiel
Vergleichen wir zwei Arrays mit verschiedenen Schlüsseln und Werten:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 1, 'b' => 5, 'd' => 4];
$res = array_diff_assoc($arr1, $arr2);
print_r($res);
?>
Ergebnis der Codeausführung:
['b' => 2, 'c' => 3]
Beispiel
Vergleich von drei Arrays mit numerischen Schlüsseln:
<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [1, 3, 3, 4];
$arr3 = [1, 2, 3, 5];
$res = array_diff_assoc($arr1, $arr2, $arr3);
print_r($res);
?>
Ergebnis der Codeausführung:
[1 => 2]
Beispiel
Vergleich mit verschiedenen Datentypen:
<?php
$arr1 = ['a' => '1', 'b' => 2];
$arr2 = ['a' => 1, 'b' => '2'];
$res = array_diff_assoc($arr1, $arr2);
print_r($res);
?>
Ergebnis der Codeausführung:
['a' => '1', 'b' => 2]
Siehe auch
-
die Funktion
array_diff,
die Arrays nach Werten vergleicht ohne Berücksichtigung der Schlüssel -
die Funktion
array_intersect_assoc,
die die Schnittmenge von Arrays unter Berücksichtigung der Schlüssel findet