php中全等(===)和相等(==)的用法區別
阿新 • • 發佈:2019-02-17
我們來看一下下面一個程式:
$str = "0d52";
if (0==$str) {
echo "真";
} else {
echo "假";
}
這個程式執行的結果出人意料, “0d52”居然 被PHP認為和0相等了。 為什麼會出現這樣的情況呢? 執行關係運算”==“時要求運算子兩邊的資料
型別必須一致,所以等號右邊的字串被強制 轉換為了整型0。這就是許多弱型別語言的缺點。 這種錯誤在我們的程式中是不能夠容忍的, 有沒有什麼辦法來解決這個問題呢? 答案當然是可以的,在PHP中給我們提供了全等於(===)來解決類似的問題。
現在我們將程式改寫成如下形式以詮釋全等於 的工作原理。
$str = "0d52";
if (0===$str) {
echo "真";
} else {
echo "假";
}
全等於操作過程如下:
1.判斷全等於操作符2邊的資料型別是否相同 如果不相同,則返回false
2.判斷全等於操作符2邊的值是否相等,如果 不相等,則返回false
3.最後將上面2步的操作進行與操作。返回與操作的結果。
不全等於操作過程正好與全等於相反:
1.判斷不全等於操作符2邊的資料型別是否相同如果不相同,則返回true
2.判斷不全等於操作符2邊的值是否相等,如果不相等,則返回true
3.最後將上面2步的操作進行或操作。返回或操作的結果。
好啦 php中的全等於何不全等於講解完畢,希望php愛好者的讀者有所收益!