Função PHP array_diff_ukey ()
Definição e Uso
o array_diff_ukey() compara apenas o keys de dois (ou mais) arrays usando uma função definida pelo usuário e retorna um array que contém as entradas de array1 que não estão presentes em array2 ou array3, etc.
Esta função é diferente de array_diff() função porque array_diff () compara valores onde como esta função compara as chaves.
Esta função é diferente de array_diff_assoc() porque array_diff_assoc () usa algoritmo interno para comparar os índices, onde esta função usa função definida pelo usuário.
Sintaxe
array_diff_ukey ( $array1, $array2 [, $array3...,callback $key_compare_func] );
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | array1(Required) O primeiro array é o array com o qual os outros serão comparados. |
2 | array2(Required) É uma matriz a ser comparada com a primeira matriz |
3 | array3(Optional) É uma matriz a ser comparada com a primeira matriz |
4 | key_compare_func(Required) É uma função de retorno de chamada usada para comparar as chaves. Esta função de retorno de chamada deve retornar um inteiro <, =,> que 0 se o primeiro argumento for considerado respectivamente <, =,> do que o segundo argumento. |
Valores Retornados
Esta função retorna um array contendo todas as entradas de array1 que não estão presentes em nenhum dos outros arrays.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP versão 5.1.0.
Exemplo
Experimente o seguinte exemplo -
<?php
function key_compare_func($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b)? 1: -1;
}
$input1 = array(0=>"banana", 1=>"orange", 2=>"grapes");
$input2 = array(3=>"apple",1=>"apricot", 5=>"mango");
print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>
Isso produzirá o seguinte resultado -
Array
(
[0] => banana
[2] => grapes
)
Exemplo
Experimente o seguinte exemplo -
<?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"));
?>
Isso produzirá o seguinte resultado -
Array
(
[red] => 2
[purple] => 4
)