English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função array_diff_ukey() do PHP compara arrays e retorna a diferença entre dois arrays (somente compara os nomes das chaves, usando uma função de comparação de chaves personalizada).
array_diff_ukey()usando uma função definida pelo usuário para comparar apenas duas (ou mais) chaves de arrays e retornar um array que contém array1mas não existe em array2ou array3itens de
esta função é diferentearray_diff()função, porque array_diff() compara valores, enquanto esta função compara chaves.
esta função é diferentearray_diff_assoc()Função, porque array_diff_assoc() usa algoritmos internos para comparar índices, enquanto essa função usa uma função definida pelo usuário.
array_diff_ukey($array1, $array2 , $array3...,callback $key_compare_func];
Número de ordem | Parâmetros e descrição |
---|---|
1 | array1(obrigatório) O primeiro array é o array que será comparado com os outros arrays. |
2 | array2(obrigatório) É um array a ser comparado com o primeiro array |
3 | array3(Opcional) É um array a ser comparado com o primeiro array |
4 | key_compare_func(obrigatório) Quando o primeiro parâmetro é 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. |
Essa função retorna um array contendo todas as entradas que não existem1não existem em todos os outros arrays.
Essa função foi introduzida pela primeira vez na versão5.1introduzido na versão
Exemplo de uso de array_diff_ukey() e key_compare_func()-
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1: -1; } $input1 = array(0=>"banana", 1=>"laranja", 2=>"uvas"); $input2 = array(3=>"maçã",1=>"laranja", 5=>"mango"); print_r(array_diff_ukey($input1,$input2,"key_compare_func")); ?>Testar veja‹/›
Resultado de saída:
Array ( [0] => banana [2] => uvas )
Exemplo de array_intersect_ukey()-
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1: -1; } $input1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); $input2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); print_r(array_diff_ukey($input1,$input2,"key_compare_func")); ?>Testar veja‹/›
Resultado de saída:
Array ( [red] => 2 [purple] => 4 )