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

php 相等性比较 以及 empty,isset, isnull

程序员文章站 2022-03-11 23:36:59
...
变量为空

以下的东西被认为是空的:

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

判断语句中空值返回false,以下代码不会产生任何输出,因为if 语句中的判断都为false:

$emptyList = ["",  0, 0.0, "0", NULL, FALSE, array(), $var, ];
foreach($emptyListas$val) {
    if ($val) {
        var_dump($val);
    }
}

比较运算符: =====

  • ==只涉及到值的比较
var_dump(0 == '0.0'); //true
var_dump(0 == ''); //true
var_dump(0 == false); //true
  • === 同时涉及 值 与类型的比较, 更为严格
var_dump(0 === '0.0'); //false
var_dump(0 === ''); //false
var_dump(0 === false); //false
  • null 与 空值 通过== 比较, 除了 “0” ,都返回true:
$emptyList = ["",  0, 0.0, "0", NULL, FALSE, array(), $var, ];
foreach($emptyListas$val) {
    var_dump($val == null);
}

empty, isset, isnull

  • empty:检查一个变量是否为空
$emptyList