本文目錄一覽:
PHP中empty和isset的區別
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)) {
echo ‘$var is either 0 or not set at all’;
}
// 結果為 false,因為 $var 已設置
if (!isset($var)) {
echo ‘$var is not set at all’;
}
?
注: 由於這是一個語言結構而非函數,因此它無法被變量函數調用。
注: empty() 只檢測變量,檢測任何非變量的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。
php函數 返回值
return date(“l F jS Y”, $timestamp);
是先運行date函數,然後把date函數的返回值做為此函數的返回值,date是系統函數,你可以百度一下它的原型
同理
echo longdate(time());
是先運行time(),把它的返回值做為參數賦給longdate,最後輸出longdate的返回值
php中0,空,null和false的區別
0 ,在所有計算機語言中,基本非0為真,0為假。0 == false null 是空 這個很有意思。因為我也不知它是什麼類型的,但 null ==false是必然的。在if判斷是邏輯就是這樣 empty 這個也是很有意思是,因為這會出現很多陷阱。首先,empty對於一切未聲明定義的變量,直接返回true,對於已聲明的變量,如果是非空字符串 或 非0 返回false; 但是0的時候,它卻是返回真的。這個是出於什麼考慮我也不清楚。但它一直出乎我的邏輯。 總得關係就是 0==false ==null (empty是一個方法 ,所以不能跟變量作比較的。)
原創文章,作者:IUMP,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/131870.html