Funcția array_intersect_ukey

Funcția array_intersect_ukey acceptă mai multe array-uri și o funcție callback pentru compararea cheilor acestora. În primul parametru este transmis array-ul principal, iar în parametrii următori - array-urile pentru comparare. În ultimul parametru este transmisă funcția callback, care trebuie să compare cheile și să returneze un număr întreg (mai mic, egal sau mai mare decât zero).

Sintaxă

phparray_intersect_ukey(array $array1, array $array2, ..., callable $key_compare_func): array

Exemplu

Să comparăm cheile a două array-uri cu ajutorul unei funcții definite de utilizator:

php<?php
  $array1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $array2 = ['a' => 4, 'c' => 5, 'd' => 6];
  
  $res = array_intersect_ukey($array1, $array2, function($key1, $key2) {
    return strcmp($key1, $key2);
  });
  
  print_r($res);
?>

Rezultatul executării codului:

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

Exemplu

Compararea cheilor a trei array-uri cu sensibilitate la registrul literelor:

php<?php
  $array1 = ['A' => 1, 'B' => 2, 'C' => 3];
  $array2 = ['a' => 4, 'B' => 5, 'C' => 6];
  $array3 = ['A' => 7, 'B' => 8, 'c' => 9];
  
  $res = array_intersect_ukey($array1, $array2, $array3, function($key1, $key2) {
    return strcmp($key1, $key2);
  });
  
  print_r($res);
?>

Rezultatul executării codului:

php['B' => 2]

Vedeți și

  • funcția array_intersect,
    care calculează intersecția array-urilor după valori
  • funcția array_intersect_key,
    care calculează intersecția array-urilor după chei
  • funcția array_uintersect,
    care calculează intersecția array-urilor cu funcție callback pentru compararea valorilor