Función array_uintersect() de PHP
Ejemplo
Comparar los valores de clave de dos arrays (usando una función personalizada para comparar valores de clave) y devolver la intersección:
<?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_uintersect($a1, $a2, "myfunction"); print_r($result); ?>
Definición y uso
La función array_uintersect() se utiliza para comparar los valores de clave de dos (o más) arrays y devuelve la intersección.
Notas:Esta función utiliza una función personalizada proporcionada para comparar valores de clave.
Esta función compara los valores de clave de dos (o más) arrays y devuelve un array de intersección que incluye todos los elementos de los arrays comparados (array1) y también en cualquier otro array de parámetros (array2 o array3 etc.) las claves.
Sintaxis
array_uintersect(array1,array2,array3...myfunction)
Parámetros | Descripción |
---|---|
array1 | Obligatorio. Primer array con el que comparar otros arrays. |
array2 | Obligatorio. Array con el que comparar el primer array. |
array3,... | Opcional. Otros arrays con los que comparar el primer array. |
myfunction |
Obligatorio. Valor de cadena, que define la función de comparación invocable. 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. |
Descripción
Utilice una función de devolución de llamada personalizada myfunction Para calcular la intersección de dos o más arrays (es decir, array1 Contiene todos los elementos de los arrays que también existen en cualquier otro array, y devuelve el array de resultados.
Sólo se realiza la comparación de valores de clave, sin comparar los nombres de clave, como los elementos "a"=>1 y "b"=>1 se consideran iguales.
myfunction La función especificada por los parámetros se utiliza para comparar si los elementos son iguales.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.
Los nombres de las claves en el array devuelto se mantienen sin cambios.
Detalles técnicos
Valor de retorno: |
Devuelve un array que contiene todos los elementos que están array1 en todos los otros arrays. Devuelve un array de intersección que incluye todos los elementos que están enarray1) y también en cualquier otro array de parámetros (array2 o array3 etc.) las claves. |
Versión de PHP: | 5+ |
Más ejemplos
Ejemplo 1
Comparar valores de clave de tres matrices (usar función personalizada del usuario para comparar valores de clave) y devolver la intersección:
<?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_uintersect($a1,$a2,$a3,"myfunction"); print_r($result); ?>