array_intersect_ukey
(PHP 5 >= 5.1.0)
array_intersect_ukey — Calcula la intersecció de matrices usando una función de usuario para la comparación de los Ãndices
Descripción
array_intersect_ukey() regresa una matriz que contiene todos los valores de array1 los cuales tienen Ãndices que están presentes en todos los argumentos.
Esta comparación es hecha por una función del usuario. La cual debe regresar un entero menor que, igual a, o mayor que cero si el primer Ãndice es considerado ser menor que, igual a o mayor que el segundo, respectivamente.
Example#1 Ejemplo 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 seria:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) })
En nuestro ejemplo ve que solo los Ãndices 'blue' y 'green' están presentes en ambas matrices y por lo tanto son regresados. También note los valores de los Ãndices 'blue' y 'green' son diferentes entre las dos matrices. Aún asà coinciden porque solo los Ãndices son checados. Los valores regresados son los de array1 .
Los dos Ãndices del par key => value son considerados igual solo si (string) $key1 === (string) $key2 . En otras palabras se hace un chequeo estricto de tipo, de tal manera que la representación de la cadena sea la misma.
Vea también: array_diff(), array_udiff() array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_diff_key(), array_diff_ukey(), array_intersect(), array_intersect_assoc(), array_intersect_uassoc() y array_intersect_key().