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() 的乙個簡單比較
複製**
**如下:
<?php
$var = 0;
// 結果為 true,因為 $var 為空
if (empty($var))
// 結果為 false,因為 $var 已設定
if (!isset($var))
?>
注: 由於這是乙個語言結構而非函式,因此它無法被變數函式呼叫。
注: empty() 只檢測變數,檢測任何非變數的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。
下面是經過指令碼之家測試過的一段isset與empty函式詳細例子的**,看完這個基本上就差不多了:
複製**
**如下:
<?php
error_reporting(e_all);
echo '未定義$var
';
echo "isset測試:
";
if ( isset ( $var ))
echo "empty測試:
";
if ( empty ( $var ))
else
echo "變數直接測試:
";
if ( $var )
else
echo '----------------------------------
';
echo '$var = \'\'
';
echo "isset測試:
";
$var = '';
if ( isset ( $var ))
echo "empty測試:
";
if ( empty ( $var ))
else
echo "變數直接測試:
";
if ( $var )
else
echo '----------------------------------
';
echo '$var = 0
';
echo 'isset測試:
';
$var = 0 ;
if ( isset ( $var ))
echo "empty測試:
";
if ( empty ( $var ))
else
echo "變數直接測試:
";
if ( $var )
else
echo '----------------------------------
';
echo '$var = null
';
echo 'isset測試:
';
$var = null ;
if ( isset ( $var ))
echo "empty測試:
";
if ( empty ( $var ))
else
echo "變數直接測試:
";
if ( $var )
else
echo '----------------------------------
';
echo '$var ="php"
';
echo 'isset測試:
';
$var = "php";
if ( isset ( $var ))
echo "empty測試:
";
if ( empty ( $var ))
else
echo "變數直接測試:
";
if ( $var )
else
?>
empty 和isset 的區別
在使用 php 編寫頁面程式時,我經常使用變數處理函式判斷 php 頁面尾部引數的某個變數值是否為空,開始的時候我習慣了使用 empty 函式,卻發現了一些問題,因此改用 isset 函式,問題不再。顧名思義,empty 判斷乙個變數是否為 空 isset 判斷乙個變數是否已經設定。正是這種所謂的 ...
empty 和isset的區別
empty是判斷乙個變數是否為空,如果 變數 是非空或非零的值,則 empty 返回 false。換句話說,0 0 null false array var var 未定義 以及沒有任何屬性的物件都將被認為是空的,如果 var 為空,則返回 true。1 數字0 2 空的字元 3 定義為null的變...
empty和isset的區別
今天再做乙個功能時,需要檢測檢測資料庫某個欄位為是否為空,特地複習了乙個下幾個檢測函式複習一下。判斷乙個變數是否為空 null false 00 0 0 都會返回true。判斷乙個變數是否設定 0 00 0 false false null 都返回true。只有值為null的變數返回true 0 0...