PHP类中动态添加变量——神一般的设定

之前问过一个问题,详见:http://www.oschina.net/question/1259433_125564

现在问题已经解决了,感谢各位的指导。。。

后经过仔细研究发现,这应该暂且称为“动态添加变量/方法”(如有雷同,纯属你活该)

PHP类中动态添加变量——神一般的设定

<?php
    class Class_a{
        public $var_a = 0;
        function fun_a(){
            $this->var_b = 1;
        }
    }
	
    $c_a = new Class_a();
    print_r($c_a);
    $c_a->fun_a();
    print_r($c_a);
?>
随意定义一个类Class_a,类中定义一个变量$var_a和一个方法fun_a()。fun_a()中动态定义了一个变量var_b。

这样,当创建Class_a的实例$c_a时,$c_a中包含一个变量$var_a和一个方法fun_a()。当运行一次方法fun_a()后,$c_a中的元素就变成了两个变量:$var_a、$var_b和一个方法fun_a()。看,$var_b在程序运行的过程中被动态创建了。。。至于其中有什么好处。。。你懂的。

至于动态的创建方法。。。有见到有人这么用。。。可是,然而,但是,可但是。。。完全不知道这样用是为了什么。。。

这时候,"$this->var_b"就应当被理解为动态创建变量$var_b,而不是调用变量var_b。

其实仔细想想,PHP中变量的创建正是这样:"$var_a = 1;"如果“$var_a”未出现过,则代表创建该变量,反之则代表对该变量赋值。之所以会在"$this->var_b"含义的问题上莫不找头脑,是$this用法的思想先入为主了。

额。。。也许可能大概是吧。。。然而未必不一定是。。。

事实证明:"$this->var_a"可以动态的创建变量。

总结一下:

从不同的方向看问题

深刻的理解是解决问题的基础

你可能感兴趣的:(PHP,ubuntu,动态创建变量,$this)