我的情況並不複雜,但花了我一段時間才弄明白。空()和魔法__get()
class A {
private $data = array('key' => 'value');
public function __get($name){
return $this->data[$name];
}
}
$a = new A();
var_dump(empty($a->key)); // TRUE
我想這是因爲empty
檢查類結構由於某種原因,而不是運行括號內的代碼。爲什麼不按預期評估此代碼?
這是一個錯誤或爲什麼它不能正常工作?
你不應該使用'$回報data [$ name];'但是'return $ this-> data [$ name];',我猜? – 2014-08-29 19:15:32
@KIKOSoftware好耶我只是寫了這個問題,簡單的錯誤。將修復它,謝謝 – 2014-08-29 19:19:29