SOFTELメモ

Softel Inc.

【php】オブジェクトのプロパティ名に$ドル記号が含まれる場合

問題

この$aっていうプロパティ、どうやって取得したらよいですか。

object(stdClass)#1 (2) {
  ["$a"]=>
  string(3) "123"
  ["$b"]=>
  string(3) "456"
}

$obj->$a では取得できないし。。。

php-logo

答え

$x->{'$a'};

でよい。

sample

<?php
//プロパティにドル記号を含むオブジェクトをわざと作る
$x = json_decode('{"$a":"123", "$b":"456"}');
//中身を確認
var_dump($x);
//取得してみる → 123 が確認できる
var_dump($x->{'$a'});

関連するメモ

コメント