也许我在问一个愚蠢的问题,但我不能理解这种行为:
<?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);的结果是真的?那我该怎么检查这个属性呢?
发布于 2010-04-27 15:39:29
点击此处阅读:http://www.php.net/manual/en/function.empty.php#93117
基本上,PHP magic methods会导致意外的行为。
如果一个类有一个特殊的__get魔术方法,你可以读/写该类中的虚拟成员。然而,的实际值不能被__isset魔术方法( empty使用的)检查,因为它不是该类的显式成员。
https://stackoverflow.com/questions/2719449
复制相似问题