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

首頁 > 開發 > PHP > 正文

php中0與空 Null false的區別

2024-05-04 21:57:19
字體:
來源:轉載
供稿:網友

我們很多程序員可能對于0,null,空,false這幾個的區別到底是什么可能不太明白,特別是在判斷時會發現0,false都是沒問題的,下面我們來看個實例。

實例代碼如下:

  1. <?php 
  2. $test=0; 
  3. if($test==''){ 
  4.  echo '<br />在php中,0即為空'//被輸出 
  5. if($test===''){ 
  6.  echo '<br />在php中,0即為空'//不被輸出 
  7. if($test==NULL){ 
  8.  echo '<br />在php中,0即為空'//被輸出 
  9. if($test===NULL){ 
  10.  echo '<br />在php中,0即為空'//不被輸出 
  11. if($test==false){ 
  12.  echo '<br />在php中,0即為空'//被輸出 
  13. if($test===false){ 
  14.  echo '<br />在php中,0即為空'//不被輸出 
  15. ?> 

原因是在PHP中變量是以C語言的結構體來存儲的,空字符串和NULL,false都是以值為0存儲的,其中這個結構體有個zend_uchar type;這樣的成員變量,他是用來保存變量的類型的,而空字符串的類型是string,NULL的類型是NULL,false是boolean。

這一點可以用echo gettype('');和echo gettype(NULL);來打印看看!而===運算符是不單比較值,還有比較類型的,所以第三個為false!

所以可以這樣說===是等于下面的函數,代碼如下:

  1. function eq($v1$v2) { 
  2. if($v1 == $v2 && gettype($v1) == gettype($v2)) { 
  3. return 1; 
  4. else { 
  5. return 0; 

所以空字符串(''),false,NULL和0是值相等而類型不一樣!

注意:

NULL是一種特殊的類型.

兩種情況下為NULL

1. $var = NULL;

2. $var;

3.""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的,如果 var 為空,則返回 TRUE。

總結:從上面實例我們可以看得出null,0,false是假,而''是一個空字符串并不是空值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大竹县| 房山区| 河间市| 武隆县| 昭苏县| 浠水县| 宣化县| 克山县| 广东省| 嘉义县| 东台市| 绍兴县| 黑龙江省| 卢氏县| 樟树市| 嘉善县| 冀州市| 视频| 龙陵县| 隆昌县| 婺源县| 页游| 武鸣县| 曲沃县| 济宁市| 兖州市| 陆河县| 泾源县| 鲜城| 延川县| 车致| 马关县| 鹤峰县| 双柏县| 溆浦县| 安丘市| 广宁县| 安阳市| 黑水县| 萍乡市| 达孜县|