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

phparray_diff(array1, array2, array3, ...);

Beispiel

Vergleichen wir zwei Arrays und finden die Elemente des ersten, die nicht im zweiten sind:

php<?php
  $arr1 = [1, 2, 3, 4];
  $arr2 = [2, 4, 5];
  $res = array_diff($arr1, $arr2);
  print_r($res);
?>

Ergebnis der Codeausführung:

php[0 => 1, 2 => 3]

Beispiel

Vergleich von drei Arrays:

php<?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:

php[0 => 'a', 2 => 'c']

Beispiel

Vergleich assoziativer Arrays (Schlüssel werden ignoriert, nur Werte werden verglichen):

php<?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:

php['a' => 1]

Siehe auch

  • die Funktion array_intersect,
    die gemeinsame Elemente von Arrays zurückgibt