在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” NULL FALSE 0 undefined
empty() TRUE FALSE TRUE TRUE TRUE TRUE
isset() TRUE TRUE FALSE TRUE TRUE FALSE

以下代码有助于你深入了解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

以上就是本文的全部内容,希望对大家的学习有所帮助。更多教程请访问码农之家
版权声明:本文为small_123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/myhomepages/p/16619523.html