PHP define el siguiente conjunto de símbolos que se utilizarán como operadores en los tipos de datos de array => matriz:
Símbolo | Ejemplo | Nombre | Resultado |
---|---|---|---|
+ | $a + $b | Unión | Unión de $a y $b. |
== | $a == $b | Igualdad | TRUE si $a y $b tienen los mismos pares clave-valor. |
=== | $a === $b | Identidad | TRUE si $a y $b tienen los mismos pares clave-valor en el mismo orden y de los mismos tipos. |
!= | $a != $b | Desigualdad | TRUE si $a no es igual a $b. |
<> | $a <> $b | Desigualdad | TRUE si $a no es igual a $b. |
!== | $a !== $b | No identidad | TRUE si $a no es idéntico a $b. |
El operador Union anexa la matriz de la derecha anexada a la matriz de la izquierda. Si existe una clave en ambas matrices, se utilizarán los elementos de la matriz de la izquierda y se ignorarán los elementos coincidentes de la matriz de la derecha.
Ejemplo: Union Operator en PHP
El siguiente ejemplo muestra cómo puede usar el operador union en PHP:
<?php
$arr1=array("phy"=>70, "che"=>80, "math"=>90);
$arr2=array("Eng"=>70, "Bio"=>80,"CompSci"=>90);
$arr3=$arr1+$arr2;
var_dump($arr3);
?>
Producirá el siguiente resultado:
array(6) {
["phy"]=>
int(70)
["che"]=>
int(80)
["math"]=>
int(90)
["Eng"]=>
int(70)
["Bio"]=>
int(80)
["CompSci"]=>
int(90)
}
Ejemplo: Cuando dos matrices son iguales
Se dice que dos matrices son iguales si tienen los mismos pares clave-valor.
En el siguiente ejemplo, tenemos una matriz indexada y otra matriz asociativa con claves correspondientes al índice de elementos en primera. Por lo tanto, ambos son iguales.
<?php
$arr1=array(0=>70, 2=>80, 1=>90);
$arr2=array(70,90,80);
var_dump ($arr1==$arr2);
var_dump ($arr2!=$arr1);
?>
Producirá el siguiente resultado:
bool(true)
bool(false)
Ejemplo: Cuando dos matrices son idénticas
Las matrices son idénticas si y solo si ambas tienen el mismo conjunto de pares clave-valor y en el mismo orden.
<?php
$arr1=array(0=>70, 1=>80, 2=>90);
$arr2=array(70,90,80);
var_dump ($arr1===$arr2);
$arr3=[70,80,90];
var_dump ($arr3===$arr1);
?>
Producirá el siguiente resultado:
bool(false)
bool(true)