Functie array_diff

De functie array_diff vergelijkt arrays en retourneert elementen uit de eerste array die afwezig zijn in de andere doorgegeven arrays. Sleutels van elementen worden behouden. De eerste parameter is de hoofdarray, de volgende parameters zijn de arrays voor vergelijking.

Syntaxis

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

Voorbeeld

Laten we twee arrays vergelijken en elementen van de eerste vinden die niet in de tweede zitten:

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

Resultaat van de code-uitvoering:

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

Voorbeeld

Vergelijking van drie arrays:

php<?php
  $arr1 = ['a', 'b', 'c', 'd'];
  $arr2 = ['b', 'd'];
  $arr3 = ['d', 'e'];
  $res = array_diff($arr1, $arr2, $arr3);
  print_r($res);
?>

Resultaat van de code-uitvoering:

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

Voorbeeld

Vergelijking van associatieve arrays (sleutels worden genegeerd, alleen waarden worden vergeleken):

php<?php
  $arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $arr2 = ['x' => 2, 'y' => 3];
  $res = array_diff($arr1, $arr2);
  print_r($res);
?>

Resultaat van de code-uitvoering:

php['a' => 1]

Zie ook

  • de functie array_intersect,
    die gemeenschappelijke elementen van arrays retourneert