isset() 和 empty() 的區別

isset() 和 empty() 的區別

不少人只想着高深的技術,卻連基礎知識儲備都不過關!一個簡單的問題都能被問的發怵,簡直好笑!對!說的就是我本身!接下來會一直堅持作一些簡單的知識總結。

一、isset() 的定義

檢測變量是否已設置而且非 NULLphp

<?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)

二、empty() 的定義

==檢查一個變量是否爲空==code

如下的東西被認爲是空的:字符串

  • "" (空字符串)
  • 0 (做爲整數的0)
  • 0.0 (做爲浮點數的0)
  • "0" (做爲字符串的0)
  • NULL
  • FALSE
  • array() (一個空數組)
  • $var; (一個聲明瞭,可是沒有值的變量)

三、isset() 和 empty()的比較

$var = 0;
if (empty($var)) {
    echo 1;
}//1
if (isset($var)) {
    echo 2;
}//1

四、 0、‘’、null之間相等關係

if('' == null && '' == 0 && null ==  0 && 0 =='0') 
echo true;
//返回結果  1;

if('' == '0' || null == '0' ) 
echo true;
//返回結果 untitled;

結論:==' ' ,null , 0 ,'0'互相相等;'',null不等於'0'==it

相關文章
相關標籤/搜索