isset() 和 empty() 的区别

29次阅读

共计 895 个字符,预计需要花费 3 分钟才能阅读完成。

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’==

正文完
 0