- PHP: Операторы сравнения
- Оператор == (равенства)
- Оператор === (идентичности)
- Оператор != или <> (неравенства)
- Оператор !== (неидентичности)
- Оператор > (больше)
- Оператор < (меньше)
- Оператор >= (больше или равно)
- Оператор Источник PHP Comparison Operators Summary: in this tutorial, you will learn how to use PHP comparison operators to compare two values. Introduction to PHP comparison operators A comparison operator allows you to compare two values and returns true if the comparison is truthful and false otherwise. The following table illustrates the comparison operators in PHP: Operator Name Description == Equal to Return true if both operands are equal; otherwise, it returns false . !=, <> Not equal to Return true if both operands are equal; otherwise, it returns false . === Identical to Return true if both operands have the same data type and equal; otherwise, it returns false . !== Not identical to Return true if both operands are not equal or not have the same data type; otherwise, it returns false . > Greater than Return true if the operand on the left is greater than the operand on the right; otherwise, it returns false . >= Greater than or equal to Return true if the operand on the left is greater than or equal to the operand on the right; otherwise, it returns false . Less than Return true if the operand on the left is less than the operand on the right; otherwise, it returns false . Less than or equal to Return true if the operand on the left is less than or equal to the operand on the right; otherwise, it returns false . Equality Operator (==) The equality returns true if both values are equal; otherwise, it returns false . The following example returns true because 10 is equal 10: $x = 10; $y = 10; var_dump($x == $y); // bool(true) Code language: HTML, XML ( xml ) The following example returns false because 10 is not equal 20 : $x = 20; $y = 10; var_dump($x == $y); // bool(false) Code language: HTML, XML ( xml ) The following example compares the number 20 with a string ’20’ , it also returns true . $x = '20'; $y = 20; var_dump($x == $y); // bool(true) Code language: HTML, XML ( xml ) If you want to compare two values with the consideration of type, you can use the identical operator ( === ). Not equal to operator (!=, <>) The not equal to (!=, <>) operator returns true if the lefthand value is not equal to the righthand value; otherwise, it returns false . For example: $x = 20; $y = 10; var_dump($x != $y); // bool(true) Code language: HTML, XML ( xml ) Identical operator (===) The identical operator returns true if both values are equal and have the same type; otherwise returns false . The following example uses the identical operator to compare a string and a number. It returns false because these values have different types: $x = '20'; $y = 20; var_dump($x === $y); // bool(false) Code language: HTML, XML ( xml ) Not identical operator (!==) The not identical operator (!==) returns true if the values are not equal or they do not have the same type; otherwise, it return false . For example: $x = 20; $y = 10; var_dump($x != $y); // bool(true) $x = 20; $y = '20'; var_dump($x != $y); // bool(false) Code language: HTML, XML ( xml ) Greater than (>) The greater than return true if the lefthand value is greater than the righthand value; otherwise, it returns false : $x = 10; $y = 20; var_dump($x > $y); // bool(false) var_dump($y > $x); // bool(true) Code language: HTML, XML ( xml ) Greater than or equal to (>=) The greater than or equal to operator returns true if the lefthand value is greater than or equal to the righthand value; otherwise, it returns false. For example: $x = 20; $y = 20; var_dump($x >= $y); // bool(true) var_dump($y >= $x); // bool(true) Code language: HTML, XML ( xml ) Less than (<) The less than operator returns true if the lefthand value is less than the righthand value; otherwise, it returns false. For example: $x = 20; $y = 10; var_dump($x < $y); // bool(false) var_dump($y < $x); // bool(true) Code language: HTML, XML ( xml ) Less than or equal to (<=) If the lefthand value is less than or equal to the righthand value, the less than or equal to operator returns true; otherwise, it returns false. For example: $x = 20; $y = 20; var_dump($x // bool(true) var_dump($y // bool(true) Code language: HTML, XML ( xml ) In this tutorial, you have learned how to use the PHP comparison operators to compare two values of the same or different types. Источник
- PHP Comparison Operators
- Introduction to PHP comparison operators
- Equality Operator (==)
- Not equal to operator (!=, <>)
- Identical operator (===)
- Not identical operator (!==)
- Greater than (>)
- Greater than or equal to (>=)
- Less than (<)
- Less than or equal to (<=)
PHP: Операторы сравнения
В этой главе описаны операторы сравнения. Эти операторы проверяют равенство (такое как равно, меньше, тождественно равно и т.д.) между двумя значениями и возвращают true или false в зависимости от того, как соотносятся операнды. Операторы сравнения всегда возвращают логические значения, и эти значения чаще всего применяются в таких операторах как if, while или for для управления ходом исполнения программы.
Пример | Название | Результат |
---|---|---|
$i == $y | Равно | TRUE если $i равно $y после преобразования типов данных. |
$i === $y | Идентично | TRUE если $i равно $y и имеет тот же тип данных. |
$i != $y | Не равно | TRUE если $i не равно $y после преобразования типов данных. |
$i <> $y | Не равно | TRUE если $i не равно $y после преобразования типов данных. |
$i !== $y | Не идентично | TRUE если $i не равно $y или они разных типов. |
$i < $y | Меньше | TRUE если $i строго меньше $y. |
$i > $y | Больше | TRUE если $i строго больше $y. |
$i | Меньше или равно | TRUE если $i меньше или равно $y. |
$i >= $y | Больше или равно | TRUE если $i больше или равно $y. |
Примечание: если попытаться вывести результат операции сравнения на экран, значение true отобразится в окне браузера как 1. Значение false соответствует числу 0 и не отображается на экран (в принципе это вы должны помнить из описания типа boolean ). Если вы хотите увидеть результат в виде true или false используйте функцию var_dump() .
Так же стоит отметить: если сравнивается строка с числом или две строки, которые содержат числа, каждая строка будет преобразована в число, и сравниваться они будут как числа.
Оператор == (равенства)
Оператор == ( равенства ) принимает операнды любого типа, если два операнда равны, возвращается значение true , в противном случае — false .
Если операнды имеют разные типы данных, PHP попытается преобразовать их перед сравнением к одному типу, например такое выражение ‘4’ == 4 вернёт значение true , так как PHP автоматически приведет сравниваемые значения к одному типу данных. Аналогично, выражение $a == 1 вернёт значение true , если переменная $a содержит значение 1. Если требуется избежать неявного преобразования типов при сравнении, то следует использовать оператор идентичности, который будет рассмотрен далее.
Оператор === (идентичности)
Оператор === ( идентичности ) принимает операнды любого типа и возвращает true , если их значения совпадают (равны), и false , если они различны. Чем же он отличается от оператора равенства? Оператор идентичности проверяет два операнда на «идентичность», руководствуясь строгим определением совпадения, это означает, что помимо равенства самих значений операндов, они также должны относиться к одному и тому же типу данных. В качестве примера рассмотрим такое выражение, как 5 === ‘5’ , результатом этого выражения будет значение false , так как значение слева является числом, а значение справа — строкой, то есть у этих значений разные типы данных. Запомните, что операторы == и === означают «равно» и «идентично/тождественно равно» .
Оператор != или <> (неравенства)
Оператор неравенства имеет два вида: != и <> . Он является противоположностью оператора == и возвращает true , в том случае, если значения операндов не равны. Оператор неравенства возвращает false только в том случае, если значения по обе стороны от него равны друг другу.
$var2); // вернет false var_dump('Home' <> 'home'); // вернет true ?>
Оператор !== (неидентичности)
Оператор !== ( неидентичности ) выполняет проверку, в точности противоположную оператору === . Он возвращает true , если значения операндов не равны друг другу или не относиться к одному и тому же типу данных. В качестве примера рассмотрим следующее выражение: 7 !== ‘7’ , оператор «неидентичности» вернет true , потому что значение слева является числом, а значение справа строкой, то есть они относятся к разным типам данных. Отсюда легко будет запомнить, что операторы != и !== означают «не равно» и «не идентично/тождественно не равно».
Оператор > (больше)
При использовании оператора > ( больше ) сравнение возвращает true только в том случае, если значение слева от оператора больше значения справа от него. Как и другие операторы, оператор > работает не только с числовыми значениями, но и со строковыми. Но как одна строка может быть больше другой?
При работе со строками буква в нижнем регистре больше буквы в верхнем регистре. При сравнении строк PHP сначала проверяет на несовпадение первую букву строки. Если разницы не обнаруживается, происходит переход к следующему символу и т.д., пока не будет найдено различие или не будет достигнут конец строки. Если два значения с каждой из сторон оператора > будут равны, оператор также вернет false .
3); // вернет true var_dump('Hi' > 'hi'); // вернет false var_dump(1 > 1); // вернет false ?>
Оператор < (меньше)
Оператор >= (больше или равно)
Оператор >= ( больше или равно ) немного отличается от тех операторов сравнения, которые рассматривались ранее. Он добавляет возможность равенства двух значений по обе стороны от него, то есть, чтобы было возвращено true , значение слева от оператора должно быть больше или равно значению справа от него. Оператор «больше или равно» возвращает false , только если значение слева от него меньше, чем значение справа.
= 5); // вернет true var_dump('hi' >= 'hi'); // вернет true var_dump(1 >= 2); // вернет false ?>
Оператор
PHP Comparison Operators
Summary: in this tutorial, you will learn how to use PHP comparison operators to compare two values.
Introduction to PHP comparison operators
A comparison operator allows you to compare two values and returns true if the comparison is truthful and false otherwise.
The following table illustrates the comparison operators in PHP:
Operator | Name | Description |
---|---|---|
== | Equal to | Return true if both operands are equal; otherwise, it returns false . |
!=, <> | Not equal to | Return true if both operands are equal; otherwise, it returns false . |
=== | Identical to | Return true if both operands have the same data type and equal; otherwise, it returns false . |
!== | Not identical to | Return true if both operands are not equal or not have the same data type; otherwise, it returns false . |
> | Greater than | Return true if the operand on the left is greater than the operand on the right; otherwise, it returns false . |
>= | Greater than or equal to | Return true if the operand on the left is greater than or equal to the operand on the right; otherwise, it returns false . |
Less than | Return true if the operand on the left is less than the operand on the right; otherwise, it returns false . | |
Less than or equal to | Return true if the operand on the left is less than or equal to the operand on the right; otherwise, it returns false . |
Equality Operator (==)
The equality returns true if both values are equal; otherwise, it returns false . The following example returns true because 10 is equal 10:
$x = 10; $y = 10; var_dump($x == $y); // bool(true)
Code language: HTML, XML (xml)
The following example returns false because 10 is not equal 20 :
$x = 20; $y = 10; var_dump($x == $y); // bool(false)
Code language: HTML, XML (xml)
The following example compares the number 20 with a string ’20’ , it also returns true .
$x = '20'; $y = 20; var_dump($x == $y); // bool(true)
Code language: HTML, XML (xml)
If you want to compare two values with the consideration of type, you can use the identical operator ( === ).
Not equal to operator (!=, <>)
The not equal to (!=, <>) operator returns true if the lefthand value is not equal to the righthand value; otherwise, it returns false . For example:
$x = 20; $y = 10; var_dump($x != $y); // bool(true)
Code language: HTML, XML (xml)
Identical operator (===)
The identical operator returns true if both values are equal and have the same type; otherwise returns false .
The following example uses the identical operator to compare a string and a number. It returns false because these values have different types:
$x = '20'; $y = 20; var_dump($x === $y); // bool(false)
Code language: HTML, XML (xml)
Not identical operator (!==)
The not identical operator (!==) returns true if the values are not equal or they do not have the same type; otherwise, it return false . For example:
$x = 20; $y = 10; var_dump($x != $y); // bool(true) $x = 20; $y = '20'; var_dump($x != $y); // bool(false)
Code language: HTML, XML (xml)
Greater than (>)
The greater than return true if the lefthand value is greater than the righthand value; otherwise, it returns false :
$x = 10; $y = 20; var_dump($x > $y); // bool(false) var_dump($y > $x); // bool(true)
Code language: HTML, XML (xml)
Greater than or equal to (>=)
The greater than or equal to operator returns true if the lefthand value is greater than or equal to the righthand value; otherwise, it returns false. For example:
$x = 20; $y = 20; var_dump($x >= $y); // bool(true) var_dump($y >= $x); // bool(true)
Code language: HTML, XML (xml)
Less than (<)
The less than operator returns true if the lefthand value is less than the righthand value; otherwise, it returns false. For example:
$x = 20; $y = 10; var_dump($x < $y); // bool(false) var_dump($y < $x); // bool(true)
Code language: HTML, XML (xml)
Less than or equal to (<=)
If the lefthand value is less than or equal to the righthand value, the less than or equal to operator returns true; otherwise, it returns false. For example:
$x = 20; $y = 20; var_dump($x // bool(true) var_dump($y // bool(true)
Code language: HTML, XML (xml)
In this tutorial, you have learned how to use the PHP comparison operators to compare two values of the same or different types.