PHP permite también el uso de operadores entre matrices según la siguiente lista:
Que nos da como resultado:
Array ( [0] => huevo [1] => patatas [2] => aceite )
Array ( [0] => huevo [1] => queso [2] => aceite )
Clave: 2; valor: aceite
- $a + $b produce la unión de $a y $b.
- $a == $b produce TRUE si $a y $b tienen los mismos elementos.
- $a === $b produce TRUE si $a y $b tienen los mismos elementos en el mismo orden.
- $a != $b produce TRUE si $a no es igual a $b.
- $a <> $b produce TRUE si $a no es igual a $b.
- $a !== $b produce TRUE si $a no es idéntico a $b.
<?php
$tortillaPatatas[0] = "huevo";
$tortillaPatatas[1] = "patatas";
$tortillaPatatas[2] = "aceite";
print_r($tortillaPatatas);
echo '<p></p>';
$tortillaQueso[0]= "huevo";
$tortillaQueso[1]= "queso";
$tortillaQueso[2]= "aceite";
print_r($tortillaQueso);
if ($tortillaPatatas == $tortillaQueso){
echo '<p> \$tortillaPatatas tiene los mismos elementos que \$tortillaQueso';
}else {
echo '<p> $tortillaPatatas <b>NO</b> tiene los mismos elementos que $tortillaQueso</p>';
}
?>
Comparar matrices
Veamos el siguiente ejemplo basado en el anterior:
<?php
$tortillaPatatas[0] = "huevo";
$tortillaPatatas[1] = "patatas";
$tortillaPatatas[2] = "aceite";
print_r($tortillaPatatas);
echo '<p></p>';
$tortillaQueso[0]= "huevo";
$tortillaQueso[1]= "queso";
$tortillaQueso[2]= "aceite";
print_r($tortillaQueso);
$diferencia = array_diff($tortillaPatatas, $tortillaQueso);
echo '<h2>Diferencia</h2>';
foreach ($diferencia as $key => $valor) {
echo "<p>Clave: $key; valor: $valor ";
}
$similitudes = array_intersect($tortillaQueso, $tortillaPatatas);
echo '<h2>Similitudes</h2>';
foreach ($similitudes as $key => $valor) {
echo "<p>Clave: $key; valor: $valor ";
}
?>
Que nos da como resultado:
Array ( [0] => huevo [1] => patatas [2] => aceite )
Array ( [0] => huevo [1] => queso [2] => aceite )
Diferencia
Clave: 1; valor: patatasSimilitudes
Clave: 0; valor: huevoClave: 2; valor: aceite
Se puede observar como funcionan las dos funciones, array_diff y array_intersect, las cuales nos dicen cuales son los elementos que difieren y que coinciden entre las dos variables, tal y como se ven en el ejemplo, pero estas dos funciones solo funcionan con índices numéricos, afortunadamente si tenemos índices asociativos (es decir aquellos a los cuales les hemos puesto una cadena), podemos utilizar las funciones: array_diff_assoc o array_intersect_assoc respectivamente.
No hay comentarios:
Publicar un comentario