$this->$aと$this->a----PHP学習ノート
今日PHP Manualの“対象”のこの部分を読む時、評論の中の1つの例がとても理解していないことを発見して、コードは以下の通りです
Technoratiラベル:PHP、学習ノート
php
class c
{
var $a = array('a'=>'aa','b'=>'ab');
var $b = 'c';
function show()
{
echo $this->a['a']; // -> 1st
echo $this->a['b']; // outputs 'ab'
$a = 'a';
$b = 'b';
echo ob_start($this->$a[97]);
echo var_dump($this->a[$a]);
echo $this->a[$a];
echo $this->$a[$a];// [] 1st, not what I expected
echo $this->$a[$b];
//echo $this -> $a; // does NOT output 'ab'
$this_a =& $this->$a; // work-around
echo $this_a[$a]; // no question
echo $this_a[$b];
$a_arr = array('a'=>'b');
echo $this->$a_arr[$a]; // [] 1st => outputs 'c'
}
}
$c = new c();
$c->show();
?>
$this->$a $this->a , var_dump() $this->$a['a'] $this->a['a'] , .
Google , :
$this->$a['a'] PHP $this->{$a['a']}, $a 'a' , $this->a['a'],
['a'] 'a' (index of string 'a'), integer, PHP ['a']
0! :
$this->$a['a']----->> $this->a['a']----->>$this->a[0]----->$this->a
$this->$a===$this->a; $a[x] x , , !
, Bug。 :)
Technoratiラベル:PHP、学習ノート