[PHP-users 31273] 配列の可変変数
taira
taira @ blessroad.co.jp
2007年 1月 18日 (木) 21:57:01 JST
タイラと申します。
可変変数を配列で使用する場合の方法ですが、
$a=array('key'=>'value');
$b='key';
$c=$a[$b];
print $c;
/* 出力:
value
*/
となりますが、これを以下のようにブラケットも含めて変数で指定するにはどの
ような方法があるでしょうか。
$b='[key]';
$c=$a{$b};
print $c;
/* 出力:なにも出力されない */
これだと、 [key] がブラケットも含めた文字列となり、添え字として解釈さ
れてしまうため、$a[[key]] の値が$cに代入されます。
実際には多次元配列(次元数は変動する)で以下のような使い方をしたいのです。
望んでいる動作は
$data[a][b][c]="value";
と同様のことです。
$key='[a][b][c]';
$data{$key} = "value";
散々色々試して、過去ログなどもあちこちあたったのですが良い方法がみつかり
ません。
--
taira <taira @ blessroad.co.jp>
PHP-users メーリングリストの案内