在创建完对象后,name属性动态创建赋值的有什么作用,是以什么形式存储的呢,与 $car->__set("0", "呵呵哒");这个与
$car->name = "小菜";
赋值有什么区别呢
下、感谢您的帮助。。
<?php // PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的。 // 属性的重载通过__set,__get,__isset,__unset // 来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。 class Car { public $ary = array(); //赋值 public function __set($key, $val) { $this->ary[$key] = $val; } //读取 public function __get($key) { return $this->ary[$key]; } //判断属性是否设置 public function __isset($key) { if(isset($this->ary[$key])) { return true; } return false; } //销毁属性 public function __unset($key) { unset($this->ary[$key]); } } //初始化对象 $car = new Car(); //为数组赋值 // $car->__set("0", "呵呵哒"); //name属性动态创建并赋值 $car->name = "宝马"; // echo $car->name; // echo $car->ary[0]; $car->name = "小菜"; echo $car->name;
。。。人呢。。好难搜。