先贴出代码:
<?phpclass c_Test {
}$o_Object=new c_Test();
if (empty($o_Object)) {
echo 'NO';
}else {
echo 'YES';
}?>为什么,输出结果为:YES函数手册上说,empty()面对空对象,会返回:true
<?phpclass c_Test {
}$o_Object=new c_Test();
if (empty($o_Object)) {
echo 'NO';
}else {
echo 'YES';
}?>为什么,输出结果为:YES函数手册上说,empty()面对空对象,会返回:true
你用这句之后,$o_Object这是一个对象,永远不会为空,和类是否为空无关。你可以var_dump($o_Object)看看
看英文手册:
http://php.net/manual/en/function.empty.phpchangelog部分:5.0.0 Objects with no properties are no longer considered empty.
从5.0.0起,无属性的对象不再认为是空的
echo 'NO';
}这样;
empty 并不是指 一个变量是空直 而是指变量没赋值
empty与isset()的区别<?php
$var = 0;// 结果为 true,因为 $var 为空
if (empty($var)) {
echo '$var is either 0 or not set at all';
}// 结果为 false,因为 $var 已设置
if (!isset($var)) {
echo '$var is not set at all';
}
?>