Función array_udiff() de PHP
Ejemplo
Comparar los valores de clave de dos arrays (usar una función personalizada para comparar valores 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_udiff($a1,$a2,"myfunction"); print_r($result); ?>
Definición y uso
La función array_udiff() se utiliza para comparar los valores de clave de dos (o más) arrays y devuelve la diferencia.
Nota:¡La función utiliza una función personalizada para comparar valores de clave!
La función compara los valores de clave de dos (o más) arrays y devuelve un array de diferencia que incluye todos los valores en los arrays comparados (array1) pero no en cualquier otro array de parámetros (array2 o array3 etc.) los valores clave.
Descripción
La función array_udiff() devuelve un array que incluye todos los valores que están en los arrays comparados, pero no en ninguno de los otros arrays de parámetros, conservando los nombres de clave.
La función array_udiff() es similar a array_diff() El comportamiento de la función es diferente, la última utiliza una función interna para comparar.
La comparación de datos se realiza utilizando la función array_udiff() myfunction realizada.myfunction La función tiene dos parámetros que se compararán. Si el primer parámetro es menor que el segundo, la función devuelve un número negativo, si los dos parámetros son iguales, debe devolver 0, y si el primer parámetro es mayor que el segundo, devuelve un número positivo.
sintaxis
array_udiff(array1,array2,array3...myfunction)}}
Parámetros | Descripción |
---|---|
array1 | Requerido. Primer array para comparar con otros arrays. |
array2 | Requerido. Array para comparar con el primer array. |
array3,... | Opcional. Otros arrays para comparar con el primer array. |
myfunction |
Requerido. Valor de cadena, define la función invocable ajustable. Si el primer parámetro es menor o igual o mayor que el segundo parámetro, la función de comparación debe devolver un entero menor o igual o mayor que 0. |
Detalles técnicos
Valor devuelto: | Devuelve un array de diferencia que contiene todos los valores clave en los arrays comparados (array1) pero no en cualquier otro array de parámetros (array2 o array3 etc.) los valores clave. |
Versión de PHP: | 5.1.0+ |
Más ejemplos
Ejemplo 1
Comparar los valores clave de tres matrices (usar función personalizada del usuario para comparar valores 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","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_udiff($a1,$a2,$a3,"myfunction"); print_r($result); ?>