我从Zend PHP学习指南这个问题,并不能找到一个合适的解释...PHP魔术方法例如
<?php
class Magic {
public $a = "A";
protected $b = array("a"=>"A", "b"=>"B", "c"=>"C");
protected $c = array(1,2,3);
public function __get($v) {
echo "$v,";
return $this->b[$v];
}
public function __set($var, $val) {
echo "$var: $val,";
$this->$var = $val;
}
}
$m = new Magic();
echo $m->a.",".$m->b.",".$m->c.",";
$m->c = "CC";
echo $m->a.",".$m->b.",".$m->c;
?>
据导游介绍,解决方案应为“b,c,A,B,C,c: CC,b,c,A,B,C
”。我无法弄清楚为什么 - 也许你会这样做?我的本意是,$间的第一个电话>一会导致产生“一”,但显然是错误的...
您提供的代码会输出“b,c,A,B,Cmc:CC,b,c,A,B,C'”(参见[this proof](http://codepad.org/) ez1rSs63))。这是指南的错误还是确切内容? – Tadeck
你是对的 - 小错字。这是正确的http://codepad.org/H91fpj8q –