Funktion array_intersect_key

Die Funktion array_intersect_key akzeptiert mehrere Arrays und gibt ein neues Array zurück, das die Elemente des ersten Arrays enthält, deren Schlüssel in allen anderen Arrays vorhanden sind. Der Vergleich erfolgt nur anhand der Schlüssel, Werte werden nicht berücksichtigt.

Syntax

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

Beispiel

Vergleichen wir zwei Arrays anhand ihrer Schlüssel:

php<?php
  $arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $arr2 = ['a' => 4, 'c' => 5, 'd' => 6];
  
  $res = array_intersect_key($arr1, $arr2);
  print_r($res);
?>

Ergebnis der Codeausführung:

php['a' => 1, 'c' => 3]

Beispiel

Vergleichen wir drei Arrays anhand ihrer Schlüssel:

php<?php
  $arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
  $arr2 = [1 => 'd', 3 => 'e'];
  $arr3 = [1 => 'f', 4 => 'g'];
  
  $res = array_intersect_key($arr1, $arr2, $arr3);
  print_r($res);
?>

Ergebnis der Codeausführung:

php[1 => 'a']

Beispiel

Vergleich von Arrays mit unterschiedlichen Schlüsseltypen:

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

Ergebnis der Codeausführung:

php['1' => 'a', 2 => 'b']

Siehe auch