函数返回值($ checkZero)不应该为false(布尔值)吗? 以下结果是'零是零'。我错过了什么?
class CheckZero {
function __construct() {
$zero = 3;
if ($zero === 0) {
return true;
}
else {
return false;
}
}
}
$checkZero = new CheckZero();
if (!$checkZero) {
echo 'zero is not zero';
}
else {
echo 'zero is zero';
}
答案 0 :(得分:1)
你不能从类构造函数中return
。返回的是新创建的对象。
如果var_dump
返回值,您将看到返回了一个对象:
object(CheckZero)#1 (0) { }
答案 1 :(得分:0)
构造函数原型:
void __construct ([ mixed $args [, $... ]] )
这意味着__construct
的返回值被丢弃并且无用,因为它是返回的对象本身。
如果您运行var_dump($checkZero);
,那么您会看到它是clas CheckZero
的对象。