Syntax for reading an array in php -


मेरे पास एक सरणी है, जो $ array में संग्रहीत है,

  print "& lt; पूर्व & gt; "; print_r ($ सरणी); प्रिंट करें "& lt; / pre & gt;";  

इस तरह एक आउटपुट देता है:

  Array ([device] = & gt; Array ([0] = & gt; अर्रे ([@attributes] = & Gt; अर्रे ([नाम] = & gt; कम वोल्ट लाइट [आईडी] = & gt; 10 [प्रकार] = & gt; Z- वेव स्विच बहुस्तरीय [मान] = & gt; 0 [address] = & gt; 00016922-018 [कोड] = & Gt; [कैड] = & gt; सच [अंतिम बदलाव] = & gt; 26-07-2014 17:31:33 [प्रथम स्थान] = & gt; रसोईघर [दूसरा स्थान] = & gt; मेन)) [1] = & gt; अर्रे [@attributes] = & gt; ऐरे ([नाम] = & gt; प्रकाश [आईडी ] = & Gt; 11 [टाइप] = & gt; Z- वेव स्विच बहुस्तरीय [मान] = & gt; 99 [पता] = & gt; 00016922-019 [कोड] = & gt; [कैड] = & gt; सच [अंतिम बदलाव] = & gt; 31-07-2014 20:01:05 [प्रथम स्थान] = & gt; बेडरूम [दूसरा स्थान] = & gt; मुख्य))  

उदाहरण के लिए [आईडी] => 10 के साथ उपकरण का मूल्य (इस मामले में 0) के लिए मुझे एक्सेस / डिस्प्ले नहीं मिल सकता है Php में क्या सिंटैक्स सही होगा?

बिना किसी लूपिंग के ऐसा करने का एक आसान तरीका है ($ Device ['@ attributes'] ['id' के रूप में] $ {$ device = "$" ] === $ idBeingSearchedFor) {// $ डिवाइस के साथ कुछ करें }}

@attributes सरणी कुंजी के कारण, मुझे लगता है कि यह किसी बिंदु पर एक्सएमएल से आया है: आप इसके बजाय इसे पार्स करने के लिए उपयोग करने पर विचार कर सकते हैं, जैसा कि आप संभावित रूप से XPath का उपयोग कर सकते हैं, जो कि इस प्रकार के एक्सेस का समर्थन करता है।

वैकल्पिक रूप से, आप सरणी को फिर से स्वरूपित कर सकते हैं, ताकि इसे आईडी द्वारा आसानी से एक्सेस किया जा सके।

उदाहरण के लिए:

<पूर्व> $ formattedArray = array (); विदेशी मुद्रा ($ सरणी ['डिवाइस'] $ डिवाइस के रूप में) {$ id = $ device ['@ attributes'] ['id']; $ फ़ॉर्मेटअरेरे [$ id] = $ डिवाइस; }

आप उसके बाद इस डिवाइस को आईडी का उपयोग कर सकते हैं:

  $ device = $ formattedArray [$ idBeingSearchedFor];  

Comments

Popular posts from this blog

sqlite3 - UPDATE a table from the SELECT of another one -

c# - Showing a SelectedItem's Property -

javascript - Render HTML after each iteration in loop -