PHP的可变变量

可变变量非常的方便,在一个类中,使用可变变量可以避免反复书写set和get方法

class person { private $name; private $sex; public function __set($name, $value) { echo “设置

可变变量非常的方便,在一个类中,使用可变变量可以避免反复书写set和get方法

class person { private $name; private $sex; public function __set($name, $value) { echo “设置属性:$name:$value
“; $this->$name = $value; } public function __get($name) { if (!isset($this->$name)) { echo ‘未设置’; } return $this->$name; } }

在上面的代码中,先看__set方法,$this->$name这里,一般在类中,获取类属性是使用$this->属性名,前面没有$符号,如果前面加了$符号,那这就是一个可变变量,可变变量的意思其实很简单,在这里比如传给__set方法的参数是gender和man,那么这个方法在执行的时候就会执行

$this->gender=’man’

这个时候$this->$name这个$name就是一个可变变量,可以动态的改变,而不是固定的。下面的__get一样,获取属性的值一样用的可变变量,并且检测这个属性是否存在,如果不存在则返回”未设置”

可变变量非常的方便,这样你就只用写一个set和get方法了。

再举一个例子

$a = “hello”; $$a = “我是hello变量”; echo $hello;

这个地方一样是可变变量,先定义一个$a,值是hello。然后定义$$a,这个时候$a就会替换成他的值hello,则$$a=’我是hello变量’代表$hello=’我是hello变量’,所以输出$hello,就可以看见我是hello变量的输出结果