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

phparray_diff_assoc(array $array1, array $array2, array ...$arrays): array

Beispiel

Vergleichen wir zwei Arrays mit verschiedenen Schlüsseln und Werten:

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

php['b' => 2, 'c' => 3]

Beispiel

Vergleich von drei Arrays mit numerischen Schlüsseln:

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

php[1 => 2]

Beispiel

Vergleich mit verschiedenen Datentypen:

php<?php
  $arr1 = ['a' => '1', 'b' => 2];
  $arr2 = ['a' => 1, 'b' => '2'];
  
  $res = array_diff_assoc($arr1, $arr2);
  print_r($res);
?>

Ergebnis der Codeausführung:

php['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