2011-11-21 13 views
5

मैं एक चर $ प्रविष्टि जो करने के लिए सेट कर दिया जाता है:पीएचपी बृहदान्त्र

stdClass वस्तु ( [आईएम: नाम] => stdClass वस्तु ( [लेबल] => कमाल ब्रेकर ) आदि

मैं मूल्य कैसे उपयोग कर सकते हैं "कमाल ब्रेकर"

मैं एक निरंतर परिभाषित करने की कोशिश की:

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

लेकिन का उपयोग कर:

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

रिटर्न गलत।

समस्या कोलन माना जाता है। कोलन के बिना एक कुंजी के लिए कोड सत्य वापस आ जाएगा।

+0

कक्षा परिभाषा पोस्ट करने के लिए देखभाल कि $ प्रविष्टि एक वस्तु है? – Devraj

उत्तर

28

आप 'विशेष' प्रॉपर्टी नामों के लिए घुंघराले ब्रेसिज़ के साथ मुक्त रूप सिंटैक्स का उपयोग कर सकते हैं:

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

हे, बुद्धिमान समाधान। धन्यवाद, आपने अपना समय बचा लिया है। – podarok

1

लपेटें IMNAME घुंघराले ब्रेसिज़ के साथ:

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

घुंघराले ब्रेसिज़!

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

असल में, हम Variable variable का उपयोग कर रहे हैं।

0

इसे इस तथ्य के साथ करना है कि PHP में परिवर्तनीय नामों में कोलन या डबल-कोलन नहीं हो सकता है। अधिक जानकारी के लिए http://www.php.net/manual/en/language.variables.basics.php देखें।

$entry->{IMNAME}->label 

काम करता है?