2019独角兽企业重金招聘Python工程师标准>>>
之前问过一个问题,详见:http://www.oschina.net/question/1259433_125564
现在问题已经解决了,感谢各位的指导。。。
后经过仔细研究发现,这应该暂且称为“动态添加变量/方法”(如有雷同,纯属你活该)
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"可以动态的创建变量。
总结一下:
从不同的方向看问题
深刻的理解是解决问题的基础