最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
PHP isset()函数与empty()函数区别
时间:2022-06-24 20:18:05 编辑:袖梨 来源:一聚教程网
empty 判断一个变量是否为“空”,isset 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(true),因而会发生一些意外。原来,empty 和 isset 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置。
比如检测 $id 变量,当 $id=0 时,用empty 和 isset 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty 认为没有配置,isset 能够取得 $id 的值:
代码如下 | 复制代码 |
$id=0; empty($id)?print "it's empty .":print "it's $id ."; //结果:it's empty . print " "; !isset($id)?print "it's empty .":print "it's $id ."; //结果:it's 0 . |
这意味着,我们在使用变量处理函数时,当该变量可能出现0的值,使用 empty 要小心,这个时候用 isset 取代它更明智一些。
当一个php教程页面的 url 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:
代码如下 | 复制代码 |
if(empty($id)) $id=1; - 若 id=0 ,id 也会为1 if(!isset($id)) $id=1; - 若 id=0 ,id 不会为1 |
可分开运行以下代码检测上述推断:
代码如下 | 复制代码 |
if(empty($id)) $id=1; if(!isset($id)) $id=1; |
看个实例
代码如下 | 复制代码 |
|
由于这是一个语言结构而非函数,因此它无法被变量函数调用。
注: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。
下面是经过脚本之家测试过的一段isset与empty函数详细例子的代码,看完这个基本上就差不多了
代码如下 | 复制代码 |
error_reporting(e_all); echo '$var ="php" echo "empty测试: |
相关文章
- 王者荣耀10周年3千点券这么花-十周年3000点券使用建议 10-13
- 明日方舟真言值得抽吗-真言抽取建议 10-13
- 永劫无间手游南宫锦武器选哪个好-南宫锦武器选择推荐 10-13
- 王者荣耀月之回廊入口在哪-月之回廊入口位置介绍 10-13
- 羊蹄山之魂的时代背景是什么 羊蹄山之魂时代故事背景介绍 10-13
- 洛克王国世界吉格斯怎么打-吉格斯打法攻略 10-13