» home

PHPで、オブジェクト内の配列の要素にアクセスしたいとき

class Hoge
{
    public $foo = array(1, 2, 3);
}

$foo = 'foo';
$hoge = new Hoge;
echo $hoge->{$foo}[1] . "\n";
echo $hoge->foo[1] . "\n";

あまり使わないと思いますが、、get_object_varsと組み合わせて使いたい場面が出たので。
{}が重要。
$fooを{}で囲わないと$foo[1]が優先されて”o”になってしまい(文字列にも添え字でアクセスできてしまうので)エラーになるようだ。

PHP Notice:  Undefined property:  Hoge::$o

最初はarray_sliceとcurrentを併用していた。

By: funaki | 2008年1月21日 | いじる | Trackback | Comments [RSS 2.0]

コメントはまだありません。 »

RSS feed for comments on this post. TrackBack URI

コメントはお気軽にどうぞ

↑top