Разница между операторами сравнения == и === в PHP

  1. Сравните целочисленное значение и значение с плавающей запятой с двойным (==) и тройным (===) оператором сравнения равенства в PHP
  2. Сравните целочисленное значение и логическое значение с двойным (==) и тройным (===) оператором сравнения равенства в PHP
  3. Сравните целочисленное значение и строковое значение с помощью оператора сравнения двойного и тройного равенства

В этой статье будет представлена ​​разница между операторами сравнения двойное равно == и тройное равно === в PHP. Существенная разница в том, что оператор сравнения двойное равенство сравнивает значения двух операндов. Напротив, оператор сравнения тройного равенства сравнивает значение и тип операндов.

Мы представим метод различения оператора сравнения с двойным равенством и тройным равенством путем сравнения целого числа и значения с плавающей запятой. Мы будем использовать тернарный оператор в качестве условного оператора.

Второй метод сравнивает оператор сравнения двойного равенства и тройного равенства с целым числом и логическим значением. В этом методе мы также будем использовать тернарный оператор.

Мы также продемонстрируем сравнение целочисленного значения и строки с использованием оператора сравнения двойного равенства и тройного равенства. Мы воспользуемся функцией var_dump() для вывода результатов сравнения в этом методе.

Сравните целочисленное значение и значение с плавающей запятой с двойным (==) и тройным (===) оператором сравнения равенства в PHP

Мы можем сравнить два одинаковых значения разных типов, используя операторы сравнения. Этот метод сравнивает целое число и число с плавающей запятой, которые имеют одинаковое значение. Мы можем использовать тернарный оператор для сравнения операндов и функцию var_dump() для вывода их логических значений.

Например, создайте переменную $a и сохраните в ней целочисленное значение 5. Сохраните значение с плавающей запятой 5.0 в другой переменной $b. Сравните две переменные с оператором тройного сравнения, используя тернарный оператор. Истинное значение возвращает true, а ложное значение возвращает false в тернарном операторе. Сохраните операцию в переменной $c. Точно так же сравните две переменные с помощью оператора двойного равенства с тернарным оператором и сохраните операцию в переменной $d. Используйте функции var_dump() в переменных $c и $d.

Выходные данные примера кода возвращают значение false для оператора тройного равенства и значение true для оператора двойного равенства. Значение 5 относится к целочисленному типу, а значение 5.0 относится к типу с плавающей запятой, хотя значение то же самое. Следовательно, оператор тройного равенства возвращает ложное значение, а оператор двойного значения возвращает истинное значение.

Пример кода:

#php 7.x 
<?php
$a = 5; 
$b = 5.0; 
$c = $a===$b ? true : false;
$d = $a==$b ? true : false;
var_dump($c);
var_dump($d);
?>

Выход:

bool(false) bool(true)

Сравните целочисленное значение и логическое значение с двойным (==) и тройным (===) оператором сравнения равенства в PHP

Этот метод сравнивает целочисленное значение 1 и логическое значение true. Целочисленное значение 1 обозначает значение истинности. Мы можем использовать тернарный оператор, как в первом методе. Например, сохраните целочисленное значение 1 в переменной $a. Создайте еще одну переменную $b и сохраните в ней логическое значение true. Используйте тернарный оператор для сравнения этих двух переменных, как в первом методе. Сравните переменные как с двойным, так и с тройным равенством. Сохраните результаты в переменных $c и $d и используйте функции var_dump() для сброса этих переменных.

Переменная $c возвращает ложное значение, а значение $d возвращает истинное значение. Поскольку оператор тройного равенства сравнивает типы операндов, очевидно, что типы 1 и true не совпадают. Но значение 1 является истинным значением, поэтому его значение совпадает с true логическим значением.

Пример кода:

#php 7.x 
<?php
$a = 1; 
$b = true; 
$c = $a===$b ? true : false;
$d = $a==$b ? true : false;
var_dump($c);
var_dump($d);
?>

Выход:

bool(false) bool(true)

Сравните целочисленное значение и строковое значение с помощью оператора сравнения двойного и тройного равенства

Мы можем сравнить операнды прямо в функции var_dump(), чтобы увидеть результат сравнения. Этот метод является сокращенным среди методов, использующих тернарные операторы. На приведенном ниже рисунке сравнивается целочисленное значение и строковое значение с использованием оператора сравнения тройного равенства и двойного равно.

Например, создайте переменную $a и сохраните в ней целочисленное значение 5. Сохраните строковое значение 5 в другой переменной $b. Сравните эти две переменные сначала с помощью оператора сравнения тройного равенства, а затем с помощью оператора двойного равенства. Оберните эти сравнения в функции var_dump().

Первое сравнение дает ложное значение. Второе сравнение возвращает значение истинности. Тип двух переменных не совпадает, поэтому получается ложное значение. Строковое значение 5 приводится к целочисленному типу, и значения обеих переменных будут одинаковыми. Однако тип переменных не меняется.

Пример кода:

#php 7.x 
<?php
$a = 5; 
$b = '5';
var_dump($a===$b);
var_dump($a==$b);
?>

Выход:

bool(false) bool(true)