php中的NULL字元

2021-08-25 19:04:13 字數 641 閱讀 2337

應該很多人都還沒有認清空字元 串('')和null的關係吧!!現在我來說明一下吧:

先看乙個例子:

'' == null;

'' === null;

執行之後會發現第乙個為true,第二個為false!

為什麼會這樣呢?其實在php 中空字串和null都是以值為0儲存的!而==只比較值,所以第乙個為true!但是第二個為什麼是false呢!?

原因是在php中變數是以c語言的結構體來儲存的,其中這個結構體有個zend_uchar type; 這 樣的成員變數,他是用來儲存變數的型別的,而空字串的型別是string而null的型別是null。這一點可以用echo gettype('');和echo gettype(null);來列印看看!而===運算子是不單比較值,還有比較型別的,所以第二個為false!

所以可以這樣說===是等於下面的函式 :

function eq(

$var1

, $var2

) else }

複製**

所以空字串(''),null和0是值相等而型別不一樣!

注意:

null是一種特殊的型別.

兩種情況下為null

1. $var = null;

2. $var;

php中的global變數為null

今天在開發中,使用global變數,輸出的是null。首先來看乙個正常的 foreach range 1,5 as c 1 var dump c 輸出的內容為 array size 1 0 int 1 array size 1 0 int 2 array size 1 0 int 3 array s...

php中empty和null的區別

php中變數的值為empty的情況 empty的用法相信大家都很熟悉,下面說下,什麼情況下empty var 會輸出true 1 變數的值為空 var 2 變數的值為字串0或者數字0 var 0 或 者var 0 或者 var 0 或者var 0 3 變數的值為flase var flase 4 凡...

php中null,0, ,false的區別

empty 函式用來判斷字串是否為空 只要變數是0,null,false,empty 都判斷為true。num1 num2 0 echo num1 num2 echo echo num1 num2 1 0 結果為 原因是在php中變數時以c語言的結構體來儲存的,空字串和null,false都是以值為...