поведение empty () - PullRequest
       15

поведение empty ()

1 голос
/ 27 апреля 2010

Может быть, я задаю глупый вопрос, но я не могу понять это поведение:

<?php
    $this->meeting->google_id = 'test';
    $test = $this->meeting->google_id;
    var_dump(empty($test));
    var_dump(empty($this->meeting));
    var_dump(empty($this->meeting->google_id));
?>

дает вывод:

bool(false) bool(false) bool(true) 

Почему результат empty($this->meeting->google_id); верен? И как мне проверить это свойство тогда?

1 Ответ

3 голосов
/ 27 апреля 2010

Читайте здесь: http://www.php.net/manual/en/function.empty.php#93117

В основном, PHP магические методы , приводящие к неожиданному поведению.

Вы можете читать / писать для виртуальных членов в классе, если в классе есть специальный __get магический метод. Однако фактическое значение не может быть проверено магическим методом __isset (который используется empty), поскольку он не является явным членом класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...