Función PHP array_diff_key ()
Definición y uso
los array_diff_key() función compara el keys desde array1 contra las llaves de array2, array3...etc y devuelve una matriz con la diferencia, es decir. las claves que están disponibles en array1 y no disponibles en array2, array3 ... etc. Esta función es comoarray_diff() función excepto que la comparación se realiza en función de las claves en lugar de los valores.
Sintaxis
array array_diff_key ( array $array1, array $array2 [, array $...] );
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | array1(Required) Esta primera matriz se comparará con. |
2 | array2(Required) Es una matriz para comparar con la primera matriz. |
3 | array3(Optional) Es una matriz para comparar con la primera matriz. |
Valores devueltos
Esta función devuelve una matriz que contiene todas las claves de array1 pero que no están presentes en ninguna de las otras matrices pasadas a la función.
Versión PHP
Esta función se introdujo por primera vez en PHP versión 5.1.0
Ejemplo
Este ejemplo devuelve valores 4 y 5 porque las primeras tres claves (0, 1 y 2) son iguales en ambas matrices, aunque sus valores son diferentes:
<?php
$input1 = array(1, 2, 3, 4, 5);
$input2 = array(4, 5, 6);
$result = array_diff_key($input1, $input2);
print_r($result);
?>
Esto producirá el siguiente resultado:
Array
(
[3] => 4
[4] => 5
)
Ejemplo
Este ejemplo devuelve una matriz vacía, porque array_diff_key () compara claves y no valores porque encuentra que ambas matrices tienen las mismas claves, aunque con valores diferentes, por lo que no encuentra ninguna diferencia.
<?php
$input4 = array(1, 2, 3);
$input5 = array(4, 5, 6);
$result = array_diff_key($input4, $input5);
print_r($result);
?>
Esto producirá el siguiente resultado:
Array
(
)
Ejemplo
Pruebe el siguiente ejemplo:
<?php
$input1 = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow", "f"=>"yellow");
$input2 = array("a"=>"red","b"=>"green","c"=>"blue");
$result = array_diff_key($input1, $input2);
print_r($result);
?>
Esto producirá el siguiente resultado:
Array
(
[d] => yellow
[f] => yellow
)