(PHP 5 >= 5.1.0)
array_intersect_ukey — Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación
$array1
, array $array2
[, array $...
], callable $key_compare_func
)
array_intersect_ukey() retorna un array
que contiene todos los valores de array1
los cuales tengan keys que estén presentes en todos los argumentos.
array1
Array inicial para la comparación de las arrays.
array2
Primer array contra el cual comparar las keys.
array
Una lista variable de argumentos de array para comparar keys.
key_compare_func
La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.
Retorna los valores de array1
cuyas keys existen
en todos los argumentos.
Ejemplo #1 Ejemplo de array_intersect_ukey()
<?php
function key_compare_func($key1, $key2)
{
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>
El resultado del ejemplo sería:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) }
En el ejemplo se puede ver que sólo las keys 'blue'
y 'green' están presentes en ambos arrays y por lo tanto
son retornadas. Nótese también que los valores para las keys
'blue' y 'green' difieren entre
los dos arrays. Sigue ocurriendo emparejamiento porque sólo las keys son verificadas.
Los valores retornados son aquellos del array1
.