isset() 和 empty() 的區別
很多人只想着高深的技術,卻連基礎知識儲備都不過關!一個簡單的問題都能被問的發怵,簡直可笑!對!說的就是我自己!接下來會一直堅持做一些簡單的知識總結。
1、isset() 的定義
檢測變量是否已設置並且非 NULL
<?php
$var = '';
// 結果爲 TRUE,所以後邊的文本將被打印出來。
if (isset($var)) {
echo "This var is set so I will print.";
}
// 在後邊的例子中,我們將使用 var_dump 輸出 isset() 的返回值。
// the return value of 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
?>
結果
This var is set so I will print.bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
2、empty() 的定義
==檢查一個變量是否爲空==
以下的東西被認爲是空的:
- "" (空字符串)
- 0 (作爲整數的0)
- 0.0 (作爲浮點數的0)
- "0" (作爲字符串的0)
- NULL
- FALSE
- array() (一個空數組)
- $var; (一個聲明瞭,但是沒有值的變量)
3、isset() 和 empty()的比較
$var = 0;
if (empty($var)) {
echo 1;
}//1
if (isset($var)) {
echo 2;
}//1
4、 0、‘’、null之間相等關係
if('' == null && '' == 0 && null == 0 && 0 =='0')
echo true;
//返回結果 1;
if('' == '0' || null == '0' )
echo true;
//返回結果 untitled;
結論:==' ' ,null , 0 ,'0'互相相等;'',null不等於'0'==