php中null和empty的區別:empty是一個函數,用來檢查一個變數是否為空,變數為空則傳回true;而null是一種資料類型,表示一個變數沒有值為空,當變數被賦值為mull、沒有被賦值或被unset()時都表示為null。
本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。
null 表示表示一個變數沒有值。變數為null有三種情況:
1.被賦值為 NULL 。
2. 尚未被賦值。
3. 被 unset() 。
empty() 函數用來檢查一個變數是否為空。
empty() 判斷變數是否被認為是空的。當一個變數並不存在,或它的值等同於 FALSE,那麼它會被認為不存在。如果變數不存在的話,empty()並不會產生警告。
empty() 5.5 版本之後支援表達式了,而不僅僅是變數。
語法
bool empty ( mixed $var )
參數說明:
$var:待檢查的變數。
注意:在 PHP 5.5 之前,empty() 僅支援變數;任何其他東西將會導致一個解析錯誤。換言之,下列程式碼不會生效:
empty(trim($name))
作為替代,應該使用:
trim($name) == false
empty() 並不會產生警告,即使變數並不存在。這意味著 empty() 本質上與 !isset($var) || $var == false 等價。
當 var 存在,且非空非零的值時傳回 FALSE 否則回傳 TRUE。
以下的變數會被認為是空的:
"" (空字串)
0 (作為整數的0)
0.0 (作為浮點數的0)
"0" (作為字串的0)
NULL
FALSE
#array() (一個空數組)
$var; (一個聲明了,但是沒有值的變數)
實例
<?php $ivar1=0; $istr1='Runoob'; if (empty($ivar1)) { echo '$ivar1' . " 为空或为 0。" . PHP_EOL; } else { echo '$ivar1' . " 不为空或不为 0。" . PHP_EOL; } if (empty($istr1)) { echo '$istr1' . " 为空或为 0。" . PHP_EOL; } else { echo '$istr1' . " 字符串不为空或不为0。" . PHP_EOL; } ?>
推薦學習:《PHP影片教學》
以上是php中null和empty的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!