首頁  >  文章  >  後端開發  >  php中isset和empty的區別詳解

php中isset和empty的區別詳解

小云云
小云云原創
2018-03-13 13:35:032114瀏覽

1.對於初學php的人來說,empty()和和isset()用法的區別是很難搞清楚的,他們的用法的差別不仔細去琢磨的話確實很難弄清楚。

先說一下他們的共同點:

  1. 都可以判定一個變數是否為空;

  2. 都回傳boolean類型,即true或false。

下面具體說一下他們用法之間的差異:

  1. #isset()用來偵測變數是否設置,只能用於變數,因為傳遞任何其它參數都會造成解析錯誤。若想要偵測常數是否已設置,可使用 defined() 函數。如果已經使用 unset() 釋放了一個變數之後,它將不再是 isset()。若使用 isset() 測試一個被設定成 NULL 的變量,將會傳回 FALSE。 (注意的是一個 NULL 位元組("\0")並不等同於 PHP 的 NULL 常數)

  2. empty()用來檢查一個變數是否為空。

  3. 他們之間最大的差異就是對於0的判斷,若用empty判斷會認為是空,用isset則認為不為空,舉個例子:

<?php
          var $a=0;
           //empty($a)返回true
           if(empty($a)){
                 echo "判断结果是空"
           }
          //isset($a)返回true
           if(isset($a)){
                 echo "判断结果不是空"
           }
       ?>

相關推薦:

有關於isset和empty的問題?

isset和empty的差異_PHP教學

#實例研究PHP函數isset和empty的差異

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn