PHP isset()和empty()区别

在PHP中isset()和empty()之间很容易混淆,它们都是用于测试变量的值,都返回一个布尔值。在使用 php 编写页面程序时,经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。本文章向大家详细介绍PHP isset()和empty()区别。

PHP isset()函数

isset()函数是用于确定变量是否已设置且不为空。

语法:

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

返回值: 

  1. 若变量不存在则返回 FALSE 
  2. 若变量存在且其值为NULL,也返回 FALSE 
  3. 若变量存在且值不为NULL,则返回 TURE 
  4. 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 

例子:

$x = '白煮蛋的博客';
var_dump(isset($x));

上面结果会返回true.

PHP empty()函数

empty() 函数用于检查一个变量是否为空。

empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

语法:

bool empty ( mixed $var )

当 var 存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE。

  1. 变量不存在,返回true
  2. 变量存在,值为空,返回true
  3. 变量存在,值不为空,返回false

以下的变量会被认为是空的:

  • "" (空字符串)
  • 0 (作为整数的0)
  • 0.0 (作为浮点数的0)
  • "0" (作为字符串的0)
  • NULL
  • FALSE
  • array() (一个空数组)
  • $var; (一个声明了,但是没有值的变量)

例子:

<?php
   $temp_val = 0;
   if (empty($temp_val)) {
      echo $temp_val . ' is considered empty';
   }
   echo "nn";
   $new_val = 1;
   if (!empty($new_val)) {
      echo $new_val . ' is considered set';
   }
?>

输出:

0 is considered empty 1 is considered set

PHP empty()与isset()区别

empty方法:

  1. 变量不存在,返回true
  2. 变量存在,值为空,返回true
  3. 变量存在,值不为空,返回false

isset方法:

  1. 变量存在,返回true
  2. 变量不存在,返回false

一张表搞清楚php empty()和isset()的区别:

“”“apple”NULLFALSE0undefined
empty()TRUEFALSETRUETRUETRUETRUE
isset()TRUETRUEFALSETRUETRUEFALSE

以下代码有助于你深入了解php empty()和isset()的区别:

<?php

print "<br/>ISSET: <br/>";
$var = "";
print "isset():". isset($var)."<br/>";
$var = "apple";
print "isset('apple'):". isset($var)."<br/>";
$var = NULL;
print "isset('NULL'):". isset($var)."<br/>";
$var = FALSE;
print "isset('FALSE'):". isset($var)."<br/>";
$var = 0;
print "isset('0'):". isset($var)."<br/>";
print "isset(undefined):". isset($var3)."<br/>";

print "<br/>EMPTY: <br/>";
$var = "";
print "empty():". empty($var)."<br/>";
$var = "apple";
print "empty('apple'):". empty($var)."<br/>";
$var = NULL;
print "empty('NULL'):". empty($var)."<br/>";
$var = FALSE;
print "empty('FALSE'):". empty($var)."<br/>";
$var = 0;
print "empty('0'):". empty($var)."<br/>";
print "empty(undefined):". empty($var1)."<br/>";

输出结果:

ISSET: 
isset():1
isset('apple'):1
isset('NULL'):
isset('FALSE'):1
isset('0'):1
isset(undefined):

EMPTY: 
empty():1
empty('apple'):
empty('NULL'):1
empty('FALSE'):1
empty('0'):1
empty(undefined):1

以上是本文的全部类容,感谢阅读,希望能帮到大家。更多教程请访问码农之家    

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值