Возвращаемое значение PHP ... что мне не хватает? - PullRequest
0 голосов
/ 09 февраля 2012

Не должно ли возвращаемое значение функции ($ checkZero) быть ложным (логическим)? Результатом следующего является «ноль ноль». Чего мне не хватает?

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

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

Вы не можете return из конструктора класса. Возвращается только что созданный объект.

Если вы var_dump вернете значение, вы увидите, что объект был возвращен:

object(CheckZero)#1 (0) {
}
0 голосов
/ 09 февраля 2012

Конструктор прототип:

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

Это означает, что возвращаемое значение __construct отбрасывается и бесполезно, поскольку возвращается сам объект.

Если вы запустите var_dump($checkZero);, вы увидите, что это объект класса CheckZero.

...