Functie array_uintersect_assoc

De functie array_uintersect_assoc retourneert een array die alle elementen van de eerste array bevat die aanwezig zijn in alle andere arrays. De vergelijking van sleutels en waarden wordt uitgevoerd met behulp van een door de gebruiker gedefinieerde callback-functie.

Syntaxis

phparray_uintersect_assoc(array $array1, array $array2, ..., callable $value_compare_func): array

Voorbeeld

Vergelijking van arrays met een aangepaste functie:

php<?php
  function compare($a, $b) {
    if ($a === $b) {
      return 0;
    }
    return ($a > $b) ? 1 : -1;
  }

  $array1 = ["a" => "green", "b" => "brown", "c" => "blue"];
  $array2 = ["a" => "GREEN", "B" => "brown", "c" => "blue"];
  
  print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

Resultaat van de code-uitvoering:

phpArray
(
  [a] => green
  [c] => blue
)

Voorbeeld

Vergelijking met numerieke waarden:

php<?php
  function numCompare($a, $b) {
    return $a <=> $b;
  }

  $array1 = [10 => "apple", 20 => "banana", 30 => "cherry"];
  $array2 = [10 => 10, 20 => "banana", 40 => "cherry"];
  
  print_r(array_uintersect_assoc($array1, $array2, "numCompare"));
?>

Resultaat van de code-uitvoering:

phpArray
(
  [20] => banana
)

Zie ook

  • de functie array_intersect_assoc,
    die de doorsnede van arrays berekent met sleutelcontrole
  • de functie array_uintersect,
    die de doorsnede van arrays berekent met een callback-functie (zonder sleutelcontrole)