2011-01-11 7 views
10

デコードされたjsonオブジェクトがありますが、属性の1つが「@」で始まり、PHPで要素にアクセスできませんエラーを投げます。PHPでstdClassにアクセスする方法@

    [offers] => stdClass Object 
        (
         [@attributes] => stdClass Object 
          (
           [id] => levaka0B8a 
          ) 
        ) 

属性にアクセスするにはどうすればよいですか?あなたがこれを行うことができ

+0

を参照するためにStdClassへの連絡。あなたはダンプをどうやって得たかを明確にしてもらえますか? – Gordon

+0

これはXMLではなくJSONからの変換です:) – bensiu

答えて

26

をあなたは文字列でそれにアクセスすることができます使用される場合は、次のドキュメントを参照してください。

  • Variable Basics - 文字列を使用せずに変数としてアクセスできるものを学習するのに役立ちます。
  • Variable Variables - この変数を他の変数の名前として使用する方法。これは慎重に
9

:変数が定義されている方法の詳細については

$name = '@attributes'; 
echo $obj->$name->id; 

echo $obj->{'@attributes'}->id; // levaka0B8a 

または変数:

$object->{'@attributes'} 
2

直接アクセスがircmaxwellやリチャードTuinから以下である、しかし、あなたは真の第二のparamでJSONをデコードし、アレイを使用してみてください

3

にアクセスしやすいことができるものinsted reciveすることができ踏む危険なことができますそれはSimpleXmlEleからいくつかの奇妙な転換だったように、

$objSimpleXml->attributes()->id 

サンプルコードは、これはかなり見え

関連する問題