zoukankan      html  css  js  c++  java
  • PHP 魔术方法 __isset __unset (三)

    慢慢长寻夜,明月高空挂

    __isset()    - 在对类中属性或者非类中属性使用isset()方法的时候如果没有或者非公有属性,则自动执行__isset()的方法

    __unset()  - 在对类中属性或者非类中属性使用unset()方法的时候如果没有或者非公有属性,则自动执行__unset()的方法

    <?php
        /**
         * 针对类中的魔术方法 __isset() 和 __unset() 的例子
         */
    
    class Example {
        public $public;
        protected $protected;
        private $private;
        
        public function __construct(){
            $this->public = 'pub';
            $this->protected = 'pro';
            $this->private = 'pri';
        }
        
        public function __isset($var){
            echo '这里通过__isset()方法查看属性名为 '.$var."
    ";
        }
        
        public function __unset($var){
            echo '这里通过__unset()方法要销毁属性名为 '.$var."
    ";
        }
    }
    
    $exa = new Example;
    
    echo '<pre>';
    var_dump(isset($exa->public));
    echo "
    ";
    var_dump(isset($exa->protected));
    echo "
    ";
    var_dump(isset($exa->private));
    echo "
    ";
    var_dump(isset($exa->noVar));
    echo "
    ";
    echo '<hr/>';
    
    
    unset($exa->public);
    var_dump($exa);
    
    echo "
    ";
    unset($exa->protected);
    echo "
    ";
    unset($exa->private);
    echo "
    ";
    unset($exa->noVar);
    echo "
    ";
    

     结果如下:

    bool(true)
    
    这里通过__isset()方法查看属性名为 protected
    bool(false)
    
    这里通过__isset()方法查看属性名为 private
    bool(false)
    
    这里通过__isset()方法查看属性名为 noVar
    bool(false)
    ------------------------------------------------------------------------------
    object(Example)#1 (2) {
      ["protected:protected"]=>
      string(3) "pro"
      ["private:private"]=>
      string(3) "pri"
    }
    
    这里通过__unset()方法要销毁属性名为 protected
    
    这里通过__unset()方法要销毁属性名为 private
    
    这里通过__unset()方法要销毁属性名为 noVar
  • 相关阅读:
    自己的文件管理软件,想怎样分类管理就怎样分类
    给博客园发展支点招
    看看自己存在哪些的个人知识管理问题和烦恼呢?
    2008年个人知识管理软件测评[草稿]
    獲取某天是星期幾
    創建鏈接服務器
    在.NET中调用Oracle9i存储过程经验总结
    C#转换成VB.net或vb.net转换成C#
    話說我們家姚明
    解决winxp搜索不到文件的问题!
  • 原文地址:https://www.cnblogs.com/uduemc/p/4120064.html
Copyright © 2011-2022 走看看