função array_intersect_ukey() do PHP
exemplo
Comparar nomes de chaves de duas arrays (usar função de comparação personalizada) e retornar a interseção:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"blue","b"=>"black","e"=>"blue"); $result=array_intersect_ukey($a1,$a2,"myfunction"); print_r($result); ?>
definição e uso
A função array_intersect_ukey() é usada para comparar nomes de chaves de duas (ou mais) arrays e retornar a interseção.
notas:Essa função usa uma função de comparação personalizada fornecida pelo usuário!
Essa função compara nomes de chaves de duas (ou mais) arrays e retorna um array de interseção que inclui todas as chaves contidas em todos os arrays comparados (array1)não estão contidos nos arrays de parâmetros adicionais (array2 ou array3 e outros) os nomes das chaves.
descrição
A função array_intersect_ukey() usa uma função de callback para comparar nomes de chaves e calcular a interseção dos arrays.
array_intersect_ukey() retorna um array que contém todas as chaves que aparecem array1 os valores das chaves que estão contidas em todas as outras arrays de parâmetros.
Essa comparação é feita através de uma função de callback fornecida pelo usuário. A função possui dois parâmetros, nomeados dos nomes das chaves a serem comparadas. Se o primeiro parâmetro for menor que o segundo, a função deve retornar um número negativo, se os parâmetros forem iguais, deve retornar 0, e se o primeiro parâmetro for maior que o segundo, deve retornar um número positivo.
sintaxe
array_intersect_ukey(array1,array2,array3,...myfunction)
Parâmetros | Descrição |
---|---|
array1 | Obrigatório. O primeiro array a ser comparado com os outros arrays. |
array2 | Obrigatório. O array a ser comparado com o primeiro array. |
array3,... | Opcional. Outros arrays a serem comparados com o primeiro array. |
myfunction | Obrigatório. Define a string da função callable para comparar. Se o primeiro parâmetro for menor, igual ou maior que o segundo parâmetro, a função de comparação deve retornar um inteiro menor, igual ou maior que 0. |
Detalhes Técnicos
Retorno: | retorna um array de interseção que inclui todas as chaves contidas em todos os arrays comparados (array1)não estão contidos nos arrays de parâmetros adicionais (array2 ou array3 e outros) os nomes das chaves. |
Versão do PHP: | 5.1.0+ |
Mais Exemplos
Exemplo 1
Comparar os nomes das chaves de três arrays (usando função personalizada do usuário para comparar nomes de chaves) e retornar a interseção:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"black","b"=>"yellow","d"=>"brown"); $a3=array("e"=>"purple","f"=>"white","a"=>"gold"); $result=array_intersect_ukey($a1,$a2,$a3,"myfunction"); print_r($result); ?>