Funktion array_diff
Die Funktion array_diff vergleicht Arrays und gibt die Elemente aus dem ersten Array zurück, die in den anderen übergebenen Arrays fehlen. Die Schlüssel der Elemente bleiben erhalten. Der erste Parameter ist das Hauptarray, die folgenden Parameter sind die Arrays zum Vergleich.
Syntax
array_diff(array1, array2, array3, ...);
Beispiel
Vergleichen wir zwei Arrays und finden die Elemente des ersten, die nicht im zweiten sind:
<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [2, 4, 5];
$res = array_diff($arr1, $arr2);
print_r($res);
?>
Ergebnis der Codeausführung:
[0 => 1, 2 => 3]
Beispiel
Vergleich von drei Arrays:
<?php
$arr1 = ['a', 'b', 'c', 'd'];
$arr2 = ['b', 'd'];
$arr3 = ['d', 'e'];
$res = array_diff($arr1, $arr2, $arr3);
print_r($res);
?>
Ergebnis der Codeausführung:
[0 => 'a', 2 => 'c']
Beispiel
Vergleich assoziativer Arrays (Schlüssel werden ignoriert, nur Werte werden verglichen):
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['x' => 2, 'y' => 3];
$res = array_diff($arr1, $arr2);
print_r($res);
?>
Ergebnis der Codeausführung:
['a' => 1]
Siehe auch
-
die Funktion
array_intersect,
die gemeinsame Elemente von Arrays zurückgibt