PHPオブジェクトのフィールドに名前文字列でアクセス
Pythonでいう、
o = some_oblect() n = 'new_field' setattr(o, n, 'new value')
で、JavaScriptでいう、
o = new Object(); n = 'new_field'; o[n] = 'new value';
をPHPでやりたい。
<?php $o = new stdClass(); $n = 'new_field'; $o->$n = 'new value'; ?>
が正解。
これを思いつかず、APIを探して見つからないな〜と思いつつ、これまでずっとevalで書いてた。お恥ずかしいかぎりで。
<?php $n = 'var_name'; $$n = 'var value'; // $var_name='var value'; ?>
だっちゅーの、俺。