Matrices
PHP Manual

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey — Calcula la diferencia de matrices usando callback function on the keys for comparison

Descripción

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

array_diff_ukey() regresa una matriz conteniendo todos los valores de array1 que tienen llaves que no están presentes en cualquiera de los otros argumentos. Note que la asociatividad es preservada. Esta función es como array_diff() excepto en que la comparación es hecha en las llaves en ligar de en los valores.

Esta comparación es hecha por una función proveída por el usuario. Debe regresar un entero menor que, igual a, o mayor que cero si la primera llave es considerada respectivamente menor que, igual a, o mayor que la segunda llave.

Example#1 Ejemplo array_diff_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_diff_ukey($array1$array2'key_compare_func'));
?>

El resultado del ejemplo seria:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Note: Note por favor que esta función solo revisa una dimensión en una matriz con n dimensiones. Por supuesto puede revisar más profundamente usando la forma array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Vea tambié array_diff(), array_udiff() array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_diff_key(), array_intersect(), array_intersect_assoc(), array_intersect_uassoc(), array_intersect_key() y array_intersect_ukey().


Matrices
PHP Manual