欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

empty 和 isset 的区别

程序员文章站 2022-06-05 22:16:01
...
bool empty ( mixed$var )

判断一个变量是否空,也可以理解为判断变量是否为 false。返回布尔值true或false。

除了当变量没有值时不产生警告之外, empty($var) 是 (bool)$var 的反义词。

如果 $var 可以转换为布尔型的false,则 empty()的返回值为true,否则,返回false。

以下七种值,当转换为boolean(同bool)时,被认为是false:

  • 布尔型false本身
  • 整型0
  • 浮点型0.0
  • 字符串'0'或"0"
  • 空字符串''或""
  • 空数组array()或[]
  • NULL或null

除此之外的所有值,都被当做是true。

var_dump( (bool)false );

var_dump( (bool)0 );

var_dump( (bool)0.0 );

var_dump( (bool)'0' );

var_dump( (bool)'' );

var_dump( (bool)array() );

var_dump( (bool)null );

?>

empty在false的七种情况下返回true,其余都返回false。

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

判断变量是否被设置,如果一个变量的值不为null,则说明变量被设置了,此时返回true;否则,返回false。

在下列情况下,一个变量被认为是 null:

  • 被赋值为NULL
  • 尚未被赋值或被定义
  • 已被unset()注销

isset() 在NULL的三种情况下返回false,其余都返回true。

以上就介绍了empty 和 isset 的区别,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。