2012-02-09 88 views
0

函数返回值($ checkZero)不应该为false(boolean)吗? 以下的结果是'零为零'。我错过了什么?PHP返回值...我错过了什么?

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'; 
} 

回答

1

你不能return从类的构造函数。返回的是新创建的对象。

如果var_dump返回值,你会看到,返回的对象:

 
object(CheckZero)#1 (0) { 
} 
+0

完美。我知道我忽略了一些明显的东西。谢谢。 – 2012-02-09 00:59:40

0

构造函数原型:

void __construct ([ mixed $args [, $... ]]) 

这意味着__construct返回值被丢弃无用,因为它是返回的对象本身。

如果运行var_dump($checkZero);那么你会看到它是CLAS CheckZero的对象。

相关问题