empty 與 isset 的乙個簡單比較

2021-04-13 11:20:46 字數 1793 閱讀 9778

bool isset ( mixed var [, mixed var [, ...]])

如果 var 存在則返回 true,否則返回 false。

如果已經使用 unset() 釋放了乙個變數之後,它將不再是 isset()。若使用 isset() 測試乙個被設定成 null 的變數,將返回 false。同時要注意的是乙個 null 位元組("/0")並不等同於 php 的 null 常數。

警告: isset() 只能用於變數,因為傳遞任何其它引數都將造成解析錯誤。若想檢測常量是否已設定,可使用 defined() 函式。

[code]<?php

$var = '';

// 結果為 true,所以後邊的文字將被列印出來。

if (isset($var))

// 在後邊的例子中,我們將使用 var_dump 輸出 isset() 的返回值。

$a = "test";

$b = "anothertest";

var_dump( isset($a) );      // true

var_dump( isset ($a, $b) ); // true

unset ($a);

var_dump( isset ($a) );     // false

var_dump( isset ($a, $b) ); // false

$foo = null;

var_dump( isset ($foo) );   // false

?>  [/code]

這對於陣列中的元素也同樣有效:

[code]<?php

$a = array ('test' => 1, 'hello' => null);

var_dump( isset ($a['test']) );            // true

var_dump( isset ($a['foo']) );             // false

var_dump( isset ($a['hello']) );           // false

// 鍵 'hello' 的值等於 null,所以被認為是未置值的。

// 如果想檢測 null 鍵值,可以試試下邊的方法。

var_dump( array_key_exists('hello', $a) ); // true

?>  

[/code]

empty -- 檢查乙個變數是否為空 描述

bool empty ( mixed var)

如果 var 是非空或非零的值,則 empty() 返回 false。換句話說,""、0、"0"、null、false、array()、var $var; 以及沒有任何屬性的物件都將被認為是空的,如果 var 為空,則返回 true。

除了當變數沒有置值時不產生警告之外,empty() 是 (boolean) var 的反義詞。參見轉換為布林值獲取更多資訊。

[code]例子 1. empty() 與 isset() 的乙個簡單比較。

<?php

$var = 0;

// 結果為 true,因為 $var 為空

if (empty($var))

// 結果為 false,因為 $var 已設定

if (!isset($var))

?>  [/code]

注: 由於這是乙個語言結構而非函式,因此它無法被「變數函式」呼叫。

注: empty() 只檢測變數,檢測任何非變數的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。

isset 與 empty 的區別

php的isset 函式 一般用來檢測變數是否設定 格式 bool isset mixed var mixed var 功能 檢測變數是否設定 返回值 若變數不存在則返回 false 若變數存在且其值為null,也返回 false 若變數存在且值不為null,則返回 ture 同時檢查多個變數時,每...

PHP中isset 與empty 函式的區別

兩者都是測試變數用的。isset 是測試變數是否被賦值 empty 是測試乙個已經被賦值的變數是否為空。注意 如果乙個變數沒被賦值就引用在php裡是被允許的,但會有notice提示。如果乙個變數被賦空值,foo 或者 foo 0或者 foo false,那麼empty foo 返回真,isset f...

php中isset與empty函式的困惑與用法分析

在學習p有一段時間之後,感覺自己的基礎知識還是有點不牢固,有的問題就不怎麼知道,比如就有乙個,在判斷乙個變數是否為空的情況下,我就不知道是用isset 還是empty 今天我就來分析該用哪個函式。isset 用於判斷乙個函式是否被設定過,如果設定過就為true,否則就為false,但是有乙個例外,就...