2017-06-02 23 views
0

これは簡単な問題ですが、過去の構文を取得できないようです。PHPで特殊文字を使用したJSONキーのデコード

object(stdClass)#15 (12) { 
    ["im:name"]=> 
    object(stdClass)#14 (1) { 
    ["label"]=> 
    string(15) "Balls VS Blocks" 
    } 

シンプル$info->im:name->labelは "ボールVSブロック" を抽出することができるはずです。しかし、最初のキーには:があるので、それは私のIDEを捨ててしまい、その後、もちろんエラーを投げます。キーでこの特殊文字をどのようにエスケープできますか?

+0

私はこの重複した質問、私は質問をする前に、しばらくの間、スタックオーバーフローを探索していることを同意しません。重複の問題は、タイトルのphpやjsonに対処していないことです。したがって、検索を実行すると検索では表示されませんでした。私は重複を発見した場合、私はかなり質問者だったのでこの質問をしなかったでしょう。だから、これは何かではなくSEOの問題です...ああ... – Chad

答えて

2

中括弧を使用して名前を引用します。

$info->{'im:name'}->label 

これは、in the documentationの例です。

+1

@Chad、真実の値を 'json_decode()'の2番目の引数として渡すことができます。連想配列を返すことに注意してくださいstdClassオブジェクトの代わりに使用します。次に '$ info ['im:name']'を参照することができます。 –

0

あなたは、中括弧を使用し、文字列としてキーを置く必要があります。

echo $info->{"im:name"}->label;