Función PHP array_diff_ukey ()
Definición y uso
los array_diff_ukey() compara solo el keys de dos (o más) matrices utilizando una función definida por el usuario y devuelve una matriz que contiene las entradas de matriz1 que no están presentes en matriz2 o matriz3, etc.
Esta función es diferente de array_diff() función porque array_diff () compara valores donde esta función compara las claves.
Esta función es diferente de array_diff_assoc() función porque array_diff_assoc () usa un algoritmo interno para comparar los índices, mientras que esta función usa una función definida por el usuario.
Sintaxis
array_diff_ukey ( $array1, $array2 [, $array3...,callback $key_compare_func] );
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | array1(Required) La primera matriz es la matriz con la que se compararán las demás. |
2 | array2(Required) Es una matriz para comparar con la primera matriz. |
3 | array3(Optional) Es una matriz para comparar con la primera matriz. |
4 | key_compare_func(Required) Es una función de devolución de llamada que se utiliza para comparar las claves. Esta función de devolución de llamada debe devolver un número entero <, =,> que 0 si se considera que el primer argumento es respectivamente <, =,> que el segundo argumento. |
Valores devueltos
Esta función devuelve una matriz que contiene todas las entradas de matriz1 que no están presentes en ninguna de las otras matrices.
Versión PHP
Esta función se introdujo por primera vez en PHP versión 5.1.0.
Ejemplo
Pruebe el siguiente ejemplo:
<?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"));
?>
Esto producirá el siguiente resultado:
Array
(
[0] => banana
[2] => grapes
)
Ejemplo
Pruebe el siguiente ejemplo:
<?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"));
?>
Esto producirá el siguiente resultado:
Array
(
[red] => 2
[purple] => 4
)