2011-11-21 11 views
5

は私がに設定されている変数$エントリを持っている:PHPのコロンは

はstdClassオブジェクト( [IM:名] =>はstdClassオブジェクト ( [ラベル] =>アメイジングブレーカー ) など

私は定数を定義しようとした値「アメージングブレイカー」

にアクセスするにはどうすればよい

define("IMNAME", 'im:name'); 

が、使用して:

foreach ($json_output->feed->entry as $entry) { 
if (isset($entry->IMNAME->label)) 

戻りますFALSE。

問題はコロンのようです。コロンのないキーの場合、コードはTRUEを返します。中括弧で

+0

$ entryがオブジェクトであるというクラス定義を投稿するように気をつけますか? – Devraj

答えて

28

あなたは '特別な' プロパティ名の中括弧で自由な形式の構文を使用することができます。

if (isset($entry->{'im:name'}->label)) 
+1

heh、インテリジェントな解決策。ありがとう、あなたは私の時間を節約しました。 – podarok

1

ラップIMNAME

if (isset($entry->{IMNAME}->label)) 
4

中括弧!

echo $Node->{'im:name'}->label; 

基本的に、私たちはVariable variableを使用しています。

関連する問題