PHP 魔術方法 __isset __unset (三),__isset__unset
慢慢長尋夜,明月高空掛
__isset() - 在對類中屬性或者非類中屬性使用isset()方法的時候如果沒有或者非公有屬性,則自動執行__isset()的方法
__unset() - 在對類中屬性或者非類中屬性使用unset()方法的時候如果沒有或者非公有屬性,則自動執行__unset()的方法
public = 'pub'; $this->protected = 'pro'; $this->private = 'pri'; } public function __isset($var){ echo '這裡通過__isset()方法查看屬性名稱為 '.$var."\n"; } public function __unset($var){ echo '這裡通過__unset()方法要銷毀屬性名稱為 '.$var."\n"; }}$exa = new Example;echo '';var_dump(isset($exa->public));echo "\n";var_dump(isset($exa->protected));echo "\n";var_dump(isset($exa->private));echo "\n";var_dump(isset($exa->noVar));echo "\n";echo '';unset($exa->public);var_dump($exa);echo "\n";unset($exa->protected);echo "\n";unset($exa->private);echo "\n";unset($exa->noVar);echo "\n";
結果如下:
bool(true)這裡通過__isset()方法查看屬性名稱為 protectedbool(false)這裡通過__isset()方法查看屬性名稱為 privatebool(false)這裡通過__isset()方法查看屬性名稱為 noVarbool(false)------------------------------------------------------------------------------object(Example)#1 (2) { ["protected:protected"]=> string(3) "pro" ["private:private"]=> string(3) "pri"}這裡通過__unset()方法要銷毀屬性名稱為 protected這裡通過__unset()方法要銷毀屬性名稱為 private這裡通過__unset()方法要銷毀屬性名稱為 noVar
http://www.bkjia.com/PHPjc/916822.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/916822.htmlTechArticlePHP 魔術方法 __isset __unset (三),__isset__unset 慢慢長尋夜,明月高空掛 __isset() - 在對類中屬性或者非類中屬性使用isset()方法的時候如果沒有或...