程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中empty()和isset()的區別

PHP中empty()和isset()的區別

編輯:關於PHP編程

PHP中empty()和isset()的區別


1、empty函數  用途:檢測變量是否為空 判斷:如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的,如果 var 為空,則返回 TRUE。來源手冊:http://php.net/manual/zh/function.empty.php  注意:empty() 只檢測變量,檢測任何非變量的東西都將導致解析錯誤。 $name=0; $name=''; $name=null; $name="0"; $name; if(empty($name)) { echo "ok"; //上面五種寫法empty($name)都是 true } if(empty($na))  //結果為 true 由於變量$na未定義 2、isset函數 用途:檢測變量是否設置 判斷:檢測變量是否設置,並且不是 NULL。如果已經使用 unset() 釋放了一個變量之後,它將不再是 isset()。若使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSE。同時要注意的是一個NULL 字節("\0")並不等同於 PHP 的 NULL 常數。 isset 函數是用於檢測這個變量是否設置過,在下面兩種情況下會認為 isset為假 ①$id; 沒有給任何值 ②或者就是根本沒有定義. 因此我們建議在 判斷某個表單是否提交有數據,使用isset來判斷if(isset($_GET/$_POST['變量']){echo $_GET['變量']}else{ echo '沒有傳遞數據'} 例子: $a1 = null; $a2 = false; $a3 = 0; $a4 = ''; $a5 = '0'; $a6 = 'null'; $a7 = array(); $a8 = array(array()); echo empty($a1) ? ‘true’ : ‘false’;//輸出true echo empty($a2) ? ‘true’ : ‘false’;//輸出true echo empty($a3) ? ‘true’ : ‘false’;//輸出true echo empty($a4) ? ‘true’ : ‘false’;//輸出true echo empty($a5) ? ‘true’ : ‘false’;//輸出true echo empty($a6) ? ‘true’ : ‘false’;//輸出false echo empty($a7) ? ‘true’ : ‘false’;//輸出true echo empty($a8) ? ‘true’ : ‘false’;//輸出false echo ‘<br/>’; echo isset($a1) ? ‘true’ : ‘false’;//輸出false echo isset($a2) ? ‘true’ : ‘false’;//輸出true echo isset($a3) ? ‘true’ : ‘false’;//輸出true echo isset($a4) ? ‘true’ : ‘false’;//輸出true echo isset($a5) ? ‘true’ : ‘false’;//輸出true echo isset($a6) ? ‘true’ : ‘false’;//輸出true echo isset($a7) ? ‘true’ : ‘false’;//輸出true echo isset($a8) ? ‘true’ : ‘false’;//輸出true   1、isset值對於變量沒有賦值或者賦值為NULL時判斷false,其余都是true; 2、empty需要注意點比較多,要根據函數的定義來做判斷.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved