多语言展示
当前在线:641今日阅读:113今日分享:31

PHP面试题9:关于empty()

我们在前面进行boolean转换判断的时候,知道0,0.0,'0',NULL,array(),'',FALSE(还有一个是对象的空声明变量)进行布尔型转换时返回false的。后来我发现empty在处理这些信息是和布尔型类似的,以下我们实际操作一下。0PHP面试题2:布尔型转换
工具/原料
1

wamp/lnmp

2

浏览器

3

编辑器

方法/步骤
1

我们先看一下boolean转换的结果:class test{var $param;}$a = (boolean)'';$b = (boolean)0;$c = (boolean)'0';$d = (boolean)0.0;$e = (boolean)NULL;$f = (boolean)array();$g = (boolean)FALSE;$obj = new test();$h = (boolean)$obj->param;全部是“false”。

2

我们使用empty将上面的8项逐一判断一遍,发现:class test{    var $param;}$a = empty('');$b = empty(0);$c = empty('0');$d = empty(0.0);$e = empty(NULL);$f = empty(array());$g = empty(FALSE);$obj = new test();$h = empty($obj->param);var_dump($a,$b,$c,$d,$e,$f,$g,$h);全部是“true”。

3

我们发现了布尔型转换和空判断的“一致性”,我理解的这8项都是所谓的“空”,请注意这个一致性并不是结果的一致性。

4

如果在处理“空”的内容是返回TRUE之外,还有一个容易忽略,就是不存在的变量。

推荐信息