PHP - Array Operators



In PHP, array operators are used to compare and combine arrays. These operators are useful for a variety of tasks, like merging two arrays, testing if two arrays are equal and finding whether they have the same order and data types.

PHP defines the following set of symbols to be used as operators on array data types −

Name Symbol Example Result
Union + $a + $b Union of $a and $b.
Equality == $a == $b TRUE if $a and $b have the same key/value pairs.
Identity === $a === $b TRUE if $a and $b have the same key/value pairs in the same order and of the same types.
Inequality != $a != $b TRUE if $a is not equal to $b.
Inequality <> $a <> $b TRUE if $a is not equal to $b.
Non identity !== $a !== $b TRUE if $a is not identical to $b.

Example: Union Operator in PHP

The Union operator appends the right-hand array appended to left-hand array. If a key exists in both arrays, the elements from the left-hand array will be used, and the matching elements from the right-hand array will be ignored.

The following example shows how you can use the union operator in PHP −

<?php
   $arr1=array("phy"=>70, "che"=>80, "math"=>90);
   $arr2=array("Eng"=>70, "Bio"=>80,"CompSci"=>90);
   $arr3=$arr1+$arr2;
   var_dump($arr3);
?>

Output

It will generate the following result −

array(6) {
   ["phy"]=>
   int(70)
   ["che"]=>
   int(80)
   ["math"]=>
   int(90)
   ["Eng"]=>
   int(70)
   ["Bio"]=>
   int(80)
   ["CompSci"]=>
   int(90)
}

Example: When Two Array are Equal

Two arrays are said to be equal if they have the same key-value pairs.

In the following example, we have an indexed array and other associative array with keys corresponding to index of elements in first. Hence, both are equal.

<?php
   $arr1=array(0=>70, 2=>80, 1=>90);
   $arr2=array(70,90,80);
   var_dump ($arr1==$arr2);
   var_dump ($arr2!=$arr1);
?>

Output

It will produce the following output −

bool(true)
bool(false)

Example: When Two Arrays are Identical

Arrays are identical if and only if both of them have same set of key-value pairs and in same order.

<?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);
?>

Output

This will create the below outcome −

bool(false)
bool(true)

Example: Using Inequality (!=) Operator

The != operator is used to check that two arrays are not equal. So it returns true if the arrays have different key-value pairs and false if have same key-value pairs.

<?php
   $arr1 = array("a" => 1, "b" => 2, "c" => 3);
   $arr2 = array("a" => 1, "b" => 5, "c" => 3);
   $arr3 = array("a" => 1, "b" => 2, "c" => 3);

   // Checking if $arr1 and $arr2 are not equal
   var_dump($arr1 != $arr2); 

   // Checking if $arr1 and $arr3 are not equal
   var_dump($arr1 != $arr3);
?>

Output

This will produce the output given below −

bool(true)  
bool(false) 

Example: Using Non-Identity (!==) Operator

You may know that Non-Identity (!==) operator is used to check if two arrays are not identical. So in our example we will check if the return value is true so the arrays are not identical.

<?php
   $arr1 = array(0 => 70, 1 => "80", 2 => 90); 
   $arr2 = array(0 => 70, 1 => 80, 2 => 90);   

   var_dump($arr1 !== $arr2); 

   $arr3 = array(0 => 70, 2 => 90, 1 => 80);

   var_dump($arr1 !== $arr3);
?>

Output

This will generate the below output −

bool(true)
bool(true)

Example: Using Inequality (<>) Operator

Inequality (<>) Operator works the same as '!=' does but it is good to explicitly see how it works.

<?php
   $arr1 = array("a" => 10, "b" => 20);
   $arr2 = array("a" => 10, "b" => 25);

   var_dump($arr1 <> $arr2); 
?>

Output

This will produce the below outcome −

bool(true)
Advertisements