1. 程式人生 > >php中全等(===)和相等(==)的用法區別

php中全等(===)和相等(==)的用法區別

我們來看一下下面一個程式:

 $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愛好者的讀者有所收益!