Función array_diff_ukey() de PHP
Ejemplo
Comparar los nombres de clave de dos matrices (usar una función personalizada del usuario para comparar los nombres de clave) y devolver la diferencia:
<?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_diff_ukey($a1,$a2,"myfunction"); print_r($result); ?>
Definición y uso
La función array_diff_ukey() se utiliza para comparar los nombres de clave de dos (o más) matrices y devuelve la diferencia.
Notas:¡Esta función utiliza una función personalizada del usuario para comparar los nombres de clave!
Esta función compara los nombres de clave de dos (o más) matrices y devuelve una matriz de diferencia que incluye todos los elementos de los matrices comparados (array1) pero no en cualquier otro array de parámetros (array2 o array3 etc.) de los nombres de clave.
Sintaxis
array_diff_ukey(array1,array2,array3...,myfunction);
Parámetros | Descripción |
---|---|
array1 | Necesario. La primera matriz para comparar con otras. |
array2 | Necesario. La matriz con la que se compara la primera. |
array3,... | Opcional. Otra matriz para comparar con la primera. |
myfunction | Necesario. La cadena que define la función de comparación que puede ser llamada. Si el primer parámetro es menor, igual o mayor que el segundo parámetro, la función de comparación debe devolver un entero mayor, igual o menor que 0. |
Descripción
array_diff_ukey() devuelve un array que incluye todas las claves que aparecen array1 pero no aparecen en cualquier otro array de parámetros. Nota: se mantiene la relación asociativa. A diferencia de array_diff(), la comparación se realiza según los nombres de clave y no según los valores.
Esta comparación se realiza mediante una función de devolución de llamada proporcionada por el usuario. Debe devolver un entero menor que cero, cero o mayor que cero si considera que el primer parámetro es menor, igual o mayor que el segundo parámetro.
Detalles técnicos
Valor de retorno: | devuelve un array de diferencia que incluye todas las claves que están enarray1) pero no en cualquier otro array de parámetros (array2 o array3 etc.) de los nombres de clave. |
Versión de PHP: | 5.1+ |
Más ejemplos
Ejemplo 1
Comparar los nombres de clave de tres matrices (usar función personalizada del usuario para comparar nombres de clave) y devolver la diferencia:
<?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_diff_ukey($a1,$a2,$a3,"myfunction"); print_r($result); ?>