[PHP-users 21170]Re: 可変変数について

ISIGE, Akira xia @ silvia.com
2004年 4月 7日 (水) 17:40:32 JST


いしげ です.

On 2004/04/07 17:18:45 JST,
"y rie" <daisy_rie @ hotmail.com> wrote:

> <?php
> $name = "array_vars['tree1']['tree2']";
> $array_vars['tree1']['tree2'] = 'Test!';
> echo ${$name};
> ?>

http://www.php.net/manual/ja/language.variables.variable.php
ここ↑の Contributed note 18-Jul-2002 04:12 にちょっと触れられていますが,
上記のコードだと,"array_vars['tree1']['tree2']" という名前の変数が表示され,
"array_vars" 配列の要素が表示されることにはならないようです.
(内部的にどんな名前として扱われているのかは調べていませんが……)

可変にしたい部分は 'array_vars' 'tree1' 'tree2' の 3箇所でしょうから,
岡部さんの記されたやり方でやってみるのがよろしいかと思います.

あと,ツリー構造を扱うのであれば,Tree という PEAR パッケージがあります.
http://cvs.php.net/cvs.php/pear/Tree
ドキュメントがイマイチで(和訳もないし)だいぶとっつきにくいですが,
大規模になりそうであればこういうのも考慮されるとよいと思います.


--
ISIGE, Akira



PHP-users メーリングリストの案内