PHP isset()與empty()的施用區別詳解

來源:互聯網
上載者:User
PHP isset()與empty()的使用區別詳解
引用

通過對PHP語言的學習,應該知道它是基於函數的一款HTML指令碼語言。龐大的函數庫支援著PHP語言功能的實現。下面我們為大家介紹有關PHP函數isset()與empty()的相關用法。


PHP的isset()函數 一般用來檢測變數是否設定
格式:bool isset ( mixed var [, mixed var [, ...]] )
功能:檢測變數是否設定
傳回值:
若變數不存在則返回 FALSE
若變數存在且其值為NULL,也返回 FALSE
若變數存在且值不為NULL,則返回 TURE
同時檢查多個變數時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE
版本:PHP 3, PHP 4, PHP 5
更多說明:
使用 unset() 釋放變數之後,它將不再是 isset()。
PHP函數isset()只能用於變數,傳遞任何其它參數都將造成解析錯誤。
檢測常量是否已設定可使用 defined() 函數。


PHP的empty()函數 判斷值為否為空白
格式:bool empty ( mixed var )
功能:檢查一個變數是否為空白
傳回值:
若變數不存在則返回 TRUE
若變數存在且其值為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 TURE
若變數存在且值不為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE
版本:PHP 3, PHP 4, PHP 5
更多說明:
empty()的傳回值=!(boolean) var,但不會因為變數未定義而產生警告資訊。參見轉換為布爾值擷取更多資訊。
empty() 只能用於變數,傳遞任何其它參數都將造成Paser error而終止運行。
檢測常量是否已設定可使用 defined() 函數。

例子: empty() 與 isset() 的一個簡單比較 複製代碼 代碼如下: 注: 由於這是一個語言結構而非函數,因此它無法被變數函數調用。 注: empty() 只檢測變數,檢測任何非變數的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。 

下面是經過指令碼之家測試過的一段isset與empty函數詳細例子的代碼,看完這個基本上就差不多了:
複製代碼 代碼如下:未定義$var
'; echo "isset測試:
"; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } echo '----------------------------------
'; echo '$var = \'\'
'; echo "isset測試:
"; $var = ''; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } echo '----------------------------------
'; echo '$var = 0
'; echo 'isset測試:
'; $var = 0 ; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } echo '----------------------------------
'; echo '$var = null
'; echo 'isset測試:
'; $var = null ; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } echo '----------------------------------
'; echo '$var ="php"
'; echo 'isset測試:
'; $var = "php"; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } ?>
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.