Funciones de Arrays
PHP Manual

array_diff_ukey

(PHP 5 >= 5.1.0, PHP 7)

array_diff_ukeyCalcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación

Descripción

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

Compara las keys del array1 contra las keys del array2 y retorna la diferencia. Esta función es como array_diff() excepto que la comparación se hace en las keys en lugar de los valores.

A diferencia de array_diff_key() una función de devolución de llamada suministrada por el usuario se utiliza para la comparación de los índices, no una función interna.

Parámetros

array1

Array a comparar

array2

Un array contra el cual comparar

...

Más arrays contra los cuales comparar

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. Observe que antes de PHP 7.0.0 este entero debía estar en el rango de -2147483648 a 2147483647.

int callback ( mixed $a, mixed $b )

Valores devueltos

Retorna un array conteniendo todas las entradas del array1 que no están presentes en ninguna de los otros array.

Ejemplos

Ejemplo #1 Ejemplo de 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 sería:

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

Notas

Nota:

Esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas mediante array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Ver también


Funciones de Arrays
PHP Manual