This article will make you aware of a very useful operator i.e the spaceship operator PHP 7. The spaceship operator or combined comparison operator is denoted by ““. This is a three-way comparison operator and it can perform greater than, less than and equal comparison between two operands.
This operator has similar behavior like strcmp() or version_compare(). This operator can be used with integers, floats, strings, arrays, objects, etc.
This operator offers combined comparison :
- Return 0 if values on either side are equal
- Return 1 if value on the left is greater
- Return -1 if the value on the right is greater
Example:
// Comparing Integers echo 1 1; // outputs 0 echo 3 4; // outputs -1 echo 4 3; // outputs 1 // String Comparison echo "a" "a"; // outputs 0 echo "m" "y"; // outputs -1 echo "y" "c"; // outputs 1
<?php echo "Integers \n" ;
echo 7 <=> 7 ;
echo "\n" ;
echo 7 <=> 6;
echo "\n" ;
echo 6 <=> 7;
echo "\nFloat\n" ;
echo 2.5 <=> 1.5;
echo "\n" ;
echo 0.5 <=> 1.5;
echo "\n" ;
echo 1.5 <=> 1.5;
echo "\nStrings\n" ;
echo "a" <=> "a" ;
echo "\n" ;
echo "g" <=> "b" ;
echo "\n" ;
echo "a" <=> "b" ;
echo "\nArrays\n" ;
echo [] <=> [];
echo "\n" ;
echo [1, 7, 3] <=> [1, 7, 3];
echo "\n" ;
echo [1, 7, 3, 5] <=> [1, 7, 3];
echo "\n" ;
echo [1, 7, 3] <=> [4, 4, 4];
echo "\n" ;
?> |
Output:
Integers 0 1 -1 Float 1 -1 0 Strings 0 1 -1 Arrays 0 0 1 -1
Reference:http://php.net/manual/en/language.operators.comparison.php