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ă
array_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
$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:
['a' => 1, 'c' => 3]
Exemplu
Compararea cheilor a trei array-uri cu sensibilitate la registrul literelor:
<?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:
['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