(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — Calcula la diferencia entre arrays con un chequeo adicional de índices
$array1
, array $array2
[, array $...
] )
Compara array1
contra array2
y
retorna la diferencia. A diferencia de array_diff(), también las claves
de los arrays son usadas en la comparación.
array1
Array a comparar
array2
Un array contra el cual comparar
...
Más arrays contra los cuales comparar
Retorna un array conteniendo todos los valores del
array1
que no están presentes en ninguna de
los otros arrays.
Ejemplo #1 Ejemplo de array_diff_assoc()
En éste ejemplo se ve que el par "a" => "green" está presente en ambos arrays y por lo tanto no está en la salida de la función. A diferencia de ésto, el par 0 => "red" está en la salida ya que en el segundo argumento "red" tiene una key que es 1.
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
El resultado del ejemplo sería:
Array ( [b] => brown [c] => blue [0] => red )
Ejemplo #2 Ejemplo de array_diff_assoc()
Dos valores de pares key => value son considerados iguales sólo si (string) $key1 === (string) $key2 . En otras palabras, un chequeo estricto se lleva a cabo de tal forma que las representaciones de cadena debe ser las mismas.
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
El resultado del ejemplo sería:
Array ( [0] => 0 [1] => 1 )
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, por ejemplo, array_diff_assoc($array1[0], $array2[0]);.