Função array_intersect_ukey
A função array_intersect_ukey aceita vários arrays e uma função de callback para comparar suas chaves. O primeiro parâmetro é o array principal, e os seguintes são os arrays para comparação. O último parâmetro é a função de callback, que deve comparar as chaves e retornar um número inteiro (menor, igual ou maior que zero).
Sintaxe
array_intersect_ukey(array $array1, array $array2, ..., callable $key_compare_func): array
Exemplo
Vamos comparar as chaves de dois arrays usando uma função personalizada:
<?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);
?>
Resultado da execução do código:
['a' => 1, 'c' => 3]
Exemplo
Comparação de chaves de três arrays com sensibilidade a maiúsculas e minúsculas:
<?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);
?>
Resultado da execução do código:
['B' => 2]
Veja também
-
a função
array_intersect,
que calcula a interseção de arrays pelos valores -
a função
array_intersect_key,
que calcula a interseção de arrays pelas chaves -
a função
array_uintersect,
que calcula a interseção de arrays com função de callback para comparação de valores