php中null和empty的差別是什麼

WBOY
發布: 2023-03-15 12:38:01
原創
2791 人瀏覽過

php中null和empty的區別:empty是一個函數,用來檢查一個變數是否為空,變數為空則傳回true;而null是一種資料類型,表示一個變數沒有值為空,當變數被賦值為mull、沒有被賦值或被unset()時都表示為null。

php中null和empty的差別是什麼

本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。

php中null和empty的差別是什麼

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=&#39;Runoob&#39;;
if (empty($ivar1))
{
    echo &#39;$ivar1&#39; . " 为空或为 0。" . PHP_EOL;
}
else
{
    echo &#39;$ivar1&#39; . " 不为空或不为 0。" . PHP_EOL;
}
if (empty($istr1))
{
    echo &#39;$istr1&#39; . " 为空或为 0。" . PHP_EOL;
}
else
{
    echo &#39;$istr1&#39; . " 字符串不为空或不为0。" . PHP_EOL;
}
?>
登入後複製

推薦學習:《PHP影片教學

以上是php中null和empty的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板