zoukankan      html  css  js  c++  java
  • __unset()魔术方法 删除类内私有属性

    __unset()魔术方法 删除私有属性
    unset()对共有属性进行删除 可通过__unset()魔术方法对私有属性进行操作

    当在类外部执行unset()函数时,自动执行类内__unset()魔术方法

    class hdw {
      private $name;
      private $age;
      private $money; //员工工资
      public $c;
      function __construct($name, $age = '', $money) {
        $this->name = $name;
        $this->age = $age;
        $this->money = $money;
      }
      function __isset($var) {
        $array = array ("name", "age" );
      if (in_array ( $var, $array )) {
        echo $var . "属性存在,他的值是:" . $this->$var;
      } elseif (in_array ( $var, array_keys ( get_object_vars ( $this ) ) )) {
        echo "属性不允许外部检查";
        return;
      } else {
        echo "属性不存在";
        }
      }
      function __unset($c) {
        if ($c == 'age') {
          unset ( $this->$c );
          echo "删除属性{$c}成功!";
        } else {
          echo "不允许删除属性{$c}";
        }
      }
      function get_money() {
        echo $this->money;
      }
    }
    $lisi = new hdw ( "李四", 22, 5500 );
    //isset ( $lisi->money2222 ) ;
    //echo isset($_GET['page'])?$_GET['page']:1;
    unset ( $lisi->name );
    //echo $lisi->get_money();
    

      

  • 相关阅读:
    快速排序算法
    excel取值
    5.管理控制文件和日志文件
    贝叶斯决策与参数估计小结
    Kernel Methods (5) Kernel PCA
    Kernel Methods (4) Kernel SVM
    Kernel Methods (3) Kernel Linear Regression
    Kernel Methods (2) Kernel function
    Kernel Methods (1) 从简单的例子开始
    PCA算法是怎么跟协方差矩阵/特征值/特征向量勾搭起来的?
  • 原文地址:https://www.cnblogs.com/jiechn/p/4655045.html
Copyright © 2011-2022 走看看