Funktsioon array_uintersect_assoc

Funktsioon array_uintersect_assoc tagastab massiivi, mis sisaldab kõiki esimese massiivi elemente, mis on esindatud kõigis teistes massiivides. Võtmete ja väärtuste võrdlemine toimub kasutaja määratud callback-funktsiooni abil.

Süntaks

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

Näide

Massiivide võrdlemine kasutajafunktsiooniga:

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

  $array1 = ["a" => "roheline", "b" => "pruun", "c" => "sinine"];
  $array2 = ["a" => "ROHELINE", "B" => "pruun", "c" => "sinine"];
  
  print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

Koodi täitmise tulemus:

phpArray
(
  [a] => roheline
  [c] => sinine
)

Näide

Võrdlemine numbriliste väärtustega:

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

  $array1 = [10 => "õun", 20 => "banaan", 30 => "kirss"];
  $array2 = [10 => 10, 20 => "banaan", 40 => "kirss"];
  
  print_r(array_uintersect_assoc($array1, $array2, "numCompare"));
?>

Koodi täitmise tulemus:

phpArray
(
  [20] => banaan
)

Vaata ka

  • funktsiooni array_intersect_assoc,
    mis arvutab massiivide ristumise koos indeksite kontrolliga
  • funktsiooni array_uintersect,
    mis arvutab massiivide ristumise callback-funktsiooniga (ilma indeksite kontrollita)