Funkcija array_uintersect

Funkcija array_uintersect aprēķina masīvu krustpunktu, salīdzinot vērtības, izmantojot callback funkciju. Tā atgriež masīvu, kas satur visus elementus no pirmā masīva, kas atrodas visos pārējos masīvos. Vērtību salīdzināšana notiek, izmantojot lietotāja definētu callback funkciju.

Sintakse

phparray_uintersect(array $array1, array $array2, ..., callable $value_compare_func): array;

Piemērs

Atradīsim divu masīvu krustpunktu, salīdzinot to vērtības, izmantojot callback funkciju:

php<?php
  $array1 = [1, 2, 3, 4, 5];
  $array2 = [2, 4, 6, 8, 10];
  
  $res = array_uintersect($array1, $array2, function($a, $b) {
    if ($a === $b) {
      return 0;
    }
    return ($a > $b) ? 1 : -1;
  });
  
  print_r($res);
?>

Koda izpildes rezultāts:

php[2, 4]

Piemērs

Virkņu masīvu salīdzināšana, izmantojot lietotāja funkciju:

php<?php
  $array1 = ['a', 'b', 'c', 'd', 'e'];
  $array2 = ['b', 'd', 'f', 'h', 'j'];
  
  $res = array_uintersect($array1, $array2, function($a, $b) {
    return strcmp($a, $b);
  });
  
  print_r($res);
?>

Koda izpildes rezultāts:

php['b', 'd']

Skatiet arī