国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php中(等于和全等于)== 和 === 的區(qū)別和應用

2024-05-04 21:57:28
字體:
供稿:網(wǎng)友

在php中等于和全等于在表達試上== 和 ===了,從簡單層面來說就是一個簡單等于,一個是精確定很高,下面我來給各位同學介紹== 和 === 的區(qū)別和應用,各位同學可參考.

在php中的符號等于'=='和全等于'==='的區(qū)別,從表面上看它們都是判斷等號左右兩把是否相等的功能,只是一個是兩個等號,一個是三個等號.

我們都應該知道,php是一種弱類型的語句,他的變量、字符定義其實并不十分規(guī)范,比如 $a = '4′;我們可以說這個$a是一個字符,但是他又可以直接進行數(shù)字的加減乘除;而且我們還知道一句話,叫做,非零即真,那么這句好就是對于==這個符號來說的.

實例代碼如下:

  1. if(4!=false){echo 'ok'}, 

這個判斷是成立的,他會輸出ok;因為4不是零,那么就是真,真就不等于false,所以判斷成立,就會輸出ok,其實這里4在判斷比較的時候,因為其對比對象的原因,所以這個4被轉(zhuǎn)化為了布爾值ture,所以判斷成立.當然如果這里用===也是成立的.

實例代碼如下:

  1. if(4!==false){echo 'ok'

他也會輸出ok,因為4本來就不是false,他們不是同一個字符.但是兩者有個很重要的區(qū)別,就是,==或!=是會因為比對的對象而轉(zhuǎn)化字符類型的,而===或!==是強制他不進行轉(zhuǎn)化而原樣進行對比,比如下面一個例子:

實例代碼如下:

  1. if(0!=false){echo 'ok'

這個就不會輸出ok,因為0就是false,判斷不成立,但是如果你寫

實例代碼如下:

  1. if(0!==false){echo 'ok'
這個判斷就成立,會輸出ok,因為0如果不轉(zhuǎn)化,那他就不是false,0就是0;

實例代碼如下:

  1. if('4′!=4){echo 'ok'} 

這個就不會輸出ok,因為他轉(zhuǎn)化后相等,判斷不成立,但是如果是

實例代碼如下:

  1. if('4′!==4){echo 'ok'}; 

這個就會輸出ok,判斷成立,因為在恒等面前,有單引號的4和沒有單引號的4并不是同一個4,一個是數(shù)字,一個是個字符.所以這樣看來他們的對比就很簡單了.他們有什么實際應用呢,就是一些比較特殊的時候會用到.比如下面:

實例代碼如下:

  1. if(strpos('abc','a')!=false){echo 'ok'}; 

一段代碼來看,實例代碼如下:

  1. $a = 0; 
  2. $b = false; 
  3. if($a == $b){ 
  4. echo "等于"
  5. if($a != $b){ 
  6. echo "不等于"
  7. ?> 

我們知道數(shù)值0也是代表假的.所以這個結(jié)果會輸出"等于".如果我們把程序改下,用全等于的呢

實例代碼如下:

  1. $a = 0; 
  2. $b = false; 
  3. if($a === $b){     //改成全等于 
  4. echo "等于"
  5. if($a !== $b){ 
  6. echo "不等于"
  7.  ?> 

這時候我們突然發(fā)現(xiàn)他會輸出"不等于".這是為什么呢.

因為:等號只判斷它們左右兩邊的最終結(jié)果值,而不判斷數(shù)據(jù)類型.而全等于首先判斷等號兩邊的數(shù)據(jù)類型是否一致.接著還要判斷兩邊的最終結(jié)果值是否一致.如果都一致才會返回true呢.所以在例子中換成全等于他會判斷兩邊的數(shù)據(jù)類型,$a 是數(shù)值型.而$b是布爾型,所以他會返回假值.==' 和 '!=='也是同樣的原理.


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 芒康县| 施甸县| 乐安县| 固镇县| 林周县| 滦南县| 荆门市| 平陆县| 宁安市| 福州市| 大英县| 韶关市| 木兰县| 绥芬河市| 城固县| 理塘县| 瑞昌市| 南岸区| 华亭县| 乐至县| 柘城县| 伊金霍洛旗| 玛多县| 中西区| 沂水县| 洛浦县| 张家界市| 共和县| 专栏| 东宁县| 张家川| 晋宁县| 星座| 大化| 万宁市| 泰州市| 贡觉县| 玉田县| 健康| 多伦县| 苏尼特左旗|