नेस्टेड सरणी PHP - php, arrays, json, loops के माध्यम से लूप

मैं एक जेएसएस फ़ाइल से डीकोड किए गए PHP सरणी के माध्यम से लूप करने की कोशिश कर रहा हूं। मुझे परिणाम मिलते हैं लेकिन यह केवल मुझे फ़ाइल में सरणी के पहले परिणाम देता है। मैं इसे लूप कैसे बना सकता हूं? यह मेरा कोड है:

foreach ($events as $event) {

echo $event["d"]["Tree1"][0]["Tree2"]["Field1"] . "<br>";
echo $event["d"]["Tree1"][0]["Tree2"]["Field2"] . "<br>";
echo $event["d"]["Tree1"][0]["Tree2"]["Field3"] . "<br>";

}

उत्तर:

उत्तर № 1 के लिए 1

आपके जैसे लगता है "एक के मूल्यों के माध्यम से लूप करने की कोशिश कर रहे हैं "बहुआयामी सरणी"। आप अपने माध्यम से जाकर सही ढंग से शुरू कर रहे हैंएक लूप के साथ सरणी, लेकिन फिर आप अटक गए क्योंकि आपके लूप में प्रत्येक तत्व ... एक और सरणी है। इसलिए, बाल सरणी के मानों को प्रतिबिंबित करने के लिए, आप अपने लूप के अंदर एक दूसरा लूप चलाने के लिए चाहते हैं। अनिवार्य रूप से, यदि आपका लूप एक बाल सरणी को हिट करता है, तो आप उस सरणी के माध्यम से भी लूप करना चाहते हैं। अगर आपको पता है कि आपकी सरणी केवल बाल सरणी से बना है, तो आप ऐसा कर सकते हैं:

<?php
foreach ($events as $event) {

foreach($event as $ev) {

echo $ev;
}
}

यदि आपको चाबियाँ चाहिए, तो जटिलता की थोड़ी सी परत जोड़ती है, लेकिन कुछ भी नहीं जिसे आप प्रबंधित नहीं कर सकते हैं।

<?php
foreach ($events as $event) {
foreach ($event as $k=>$v) {
echo $k .": ". $v;
}
}

इसमें कुछ उदाहरण हैं PHP मैनुअल भी। यदि आप केवल विशिष्ट कुंजी से डेटा की आवश्यकता है तो आप सशर्त में भी जोड़ सकते हैं। सौभाग्य!


संबंधित सवाल
सबसे लोकप्रिय