6377


下記のような書き方をしたとき、  
`$obj->$key[$str] = 'hoge';`

`$obj->$key`よりも`$key[$str]`が先に判断されてしまいます。  
このときに、`$obj->$key`を先に判断したいと思っています。

たとえば、

[code]

    $temp = $this->$key;
    $temp[$str] = 'hoge';
    $obj->$key = $temp;
    
[/code]

のような書き方をすれば想定する動きとなりますが、  
もっと直感的で、きれいな書き方はありませんでしょうか？

各変数の前提は以下の通りです。

  * $objはオブジェクト
  * $keyは文字列で、変動する
  * $key = 'hoge';の場合に、$obj->hogeは配列
  * $strは文字列

よろしくお願いいたします。


CC BY-SA 3.0
2015-02-12T08:42:38.347
6375
2015-02-12T09:09:51.233
8242
question
php
オブジェクトのアロー演算子と配列の優先順位について


直感的かどうかはわかりませんが次のようにすると大丈夫そうです。

[code]

    $obj->{$key}[$str] = 'hoge';
    
[/code]


CC BY-SA 3.0
2015-02-12T09:09:51.233
6377
2015-02-12T09:09:51.233
2494
6375
answer