php中empty()与isset()的区别是什么?

发布网友 发布时间:2022-04-06 07:53

我来回答

4个回答

懂视网 时间:2022-04-06 12:14

isset()函数

isset()函数一般用来检测变量是否设置。

格式:

bool isset ( mixed var [, mixed var [, ...]] )

返回值:

若变量不存在则返回 FALSE;

若变量存在且其值为NULL,也返回 FALSE;

若变量存在且值不为NULL,则返回 TURE;

同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE。

empty()函数

empty()函数用来判断值为否为空。

格式:

bool empty ( mixed var )

返回值:

若变量不存在则返回 TRUE;

若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE;

若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE。

举例: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() 只检测变量,检测任何非变量的东西都将导致解析错误。

如果您想学习更多相关知识,请访问gxlcms。

热心网友 时间:2022-04-06 09:22

其实你搜下基本就知道了。
empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。
empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。
例如:
$id=0;
empty($id)?print "It's empty .":print "It's $id .";
//结果:It's empty .
print "<br>";
!isset($id)?print "It's empty .":print "It's $id .";
//结果:It's 0 .

热心网友 时间:2022-04-06 10:40

一个判断括号内是否为空,isset判断是否已经定义括号内的参数,即使是空但是参数定义过了,此时isset返回true.
两者都返回true or false.

热心网友 时间:2022-04-06 12:15

返回的布尔值刚好相反!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com