1
PHPでは、魔法の__getと__setを誤解していると思っています。ファイン。PHPの出力値がデバッガの値と一致しない
しかし、この例の出力は予期せぬだけでなく、デバッガが出力するものと一致しません。が出力されます。
<?php
// put your code here
class Magic {
public $a = 'A';
public $x = 'X';
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.",";
echo $m->x;
?>
これの出力は次のとおりです。
B、C、A、B、C、X
今、私はちょうどこれをデバッグするためにXAMPPとNetBeansを設定し...私が入れたとき
echo $m->a.",".$m->b.",".$m->c.",";
のブレークポイントとは、私が
(文字列)
を参照してください>は$ M-を上にマウスを移動しますしかし、それは何が出力されていませんか?出力する最初の文字は
b
何が起こっているのですか?デバッガは$ M-> aがAの値を持っているが、我々はそれをエコーするとき、それはB
そうかもしれません;) あなたの答えは当然です(顔/手のひら) – GHolmes