首頁  >  文章  >  後端開發  >  PHP中isset()和empty()函數有什麼差別?

PHP中isset()和empty()函數有什麼差別?

不言
不言轉載
2019-03-13 13:59:042406瀏覽

這篇文章帶給大家的內容是關於PHP中isset()和empty()函數有什麼不同?有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

很多人只想著高深的技術,卻連基礎知識儲備都不過關!一個簡單的問題都能被問的發怵,簡直可笑!對!說的就是我自己!接下來會一直堅持做一些簡單的知識總結。

1、isset() 的定義

偵測變數是否已設定且非 NULL

<?php

$var = &#39;&#39;;

// 结果为 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'==

以上是PHP中isset()和empty()函數有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除