在php中,“==”符號是一個比較運算符,可以比較兩個操作數是否相等,語法“操作數1 == 操作數2”。“==”運算符會比較、并測試左邊的變量(表達式或常量)是否與右邊的變量(表達式或常量)具有相同的值;它只比較變量的值,而不是數據類型。如果兩個值相同,則返回true值;如果兩個值不相同,則返回false值。
本教程操作環境:windows7系統、PHP8版、DELL G3電腦
在php中,“==”符號是一個比較運算符,可以比較兩個操作數是否相等。
等式(==)運算符
等式(==)運算符是比較、并測試左邊的變量(表達式或常量)是否與右邊的變量(表達式或常量)具有相同的值;該運算符進行的比較是松散的。
如果兩個值相同(它只比較變量的值,而不是數據類型),則返回true值;如果兩個值不相同,則返回false值。
注:等式(==)運算符和賦值(=)運算符不同。賦值(=)運算符會更改左邊的變量,將右邊的變量賦值給左邊的變量,而等式(==)運算符是測試相等性,并根據比較結果返回true或false。
<?php header("content-type:text/html;charset=utf-8"); // 給變量賦整數值 $x = 999; echo '$x='.$x."<br>"; // 給變量賦字符串值 $y = '999'; echo '$y='.$y."<br>"; //比較$x 和$y if ($x == $y) echo '$x和$y的值相等'; else echo '$x和$y的值不相等'; ?>
在上面的例子中,因為等式(==)運算符只比較變量的值,$ x和$ y的值是相等的,所以直接執行if里的語句,不執行else語句。
擴展知識:恒等式(===)運算符
如果即想比較值是否相等,又想比較數據是否相等就需要使用“===”運算符。
恒等式(===)運算符是進行給定變量或值之間的嚴格比較;它比較,并查看兩個變量(表達式或常量)是否值相等且具有相同的數據類型,即兩者都是字符串或兩者都是整數等等。
如果兩個變量(表達式或常量)包含相同的值和相同的數據類型,則此運算符返回true,否則返回false。
<?php header("content-type:text/html;charset=utf-8"); // 給變量賦整數值 $x = 999; echo '$x='.$x."<br>"; // 給變量賦字符串值 $y = '999'; echo '$y='.$y."<br>"; //比較$x 和$y if ($x === $y) echo '$x和$y相等'; else echo '$x和$y不相等'; ?>
在上面的例子中,$ x和$ y的值相等但數據類型不同,因而返回false,執行else部分。
PHP比較運算符
例子 | 名稱 | 描述 |
---|---|---|
$a == $b | 等于 | 如果類型轉換后 $a 和 $b 的值相等,則返回 TRUE,否則返回 FALSE |
$a === $b | 全等 | 如果 $a 和 $b 不僅值相等,而且它們值的類型也相等,則返回 TRUE,否則返回 FALSE |
$a != $b | 不等于 | 如果類型轉換后 $a 的值不等于 $b 的值,則返回TRUE,否則返回 FALSE |
$a <> $b | 不等于 | 與 != 相同,如果類型轉換后 $a 的值不等于 $b 的值,則返回 TRUE,否則返回 FALSE |
$a !== $b | 不全等 | 如果 $a 的值不等于 $b的值,或者它們值的類型不同,則返回 TRUE,否則返回 FALSE |
$a < $b | 小與 | 如果 $a 的值小于 $b 的值,則返回 TRUE,否則返回 FALSE |
$a > $b | 大于 | 如果 $a 的值大于 $b 的值,則返回 TRUE,否則返回 FALSE |
$a <= $b | 小于等于 | 如果 $a 的值小于或者等于 $b 的值,則返回 TRUE,否則返回 FALSE |
$a >= $b | 大于等于 | 如果 $a 的值大于或者等于 $b 的值,則返回 TRUE,否則返回 FALSE |
$a <=> $b | 太空船運算符(組合比較符) | 當 $a小于、等于、大于 $b時 分別返回一個小于、等于、大于0的整型值。 PHP7開始提供. |
$a ?? $b ?? $c | NULL合并操作符 | 從左往右第一個存在且不為 NULL 的操作數。如果都沒有定義且不為 NULL,則返回 NULL。PHP7開始提供。 |
推薦學習:《PHP視頻教程》