cakephp - Using Hash::extract() on Array from Xml -
मेरे पास एक सरणी है:
array ('items' = & gt; सरणी ('आइटम' = & gt; सरणी ((इंट) 0 = & gt; सरणी ('@ इटेम' = & gt; '3-394-001068-00000'), (इंट) 1 = & gt; सरणी ('@ इटेम' = & gt; '3-394-001069-00000'),))) मैं सभी 'आइटम' प्रविष्टियों को एक नए सरणी में निकालने का प्रयास कर रहा हूं।
यहाँ मेरा कोड अभी तक है:
$ xmlarray = Xml :: toArray (एक्सएमएल :: बिल्ड (WWW_ROOT। 'फाइलें / आइटम सभी /'। $ फ़ाइल)); डिबग ($ xmlarray); $ परिणाम = हैश :: निकालें ($ xmlarray, '{n} .item'); डिबग ($ परिणाम); लेकिन यह केवल एक रिक्त सारणी देता है क्या कोई मुझे एक संकेत दे सकता है जहां मैं गलत हो रहा हूं?
धन्यवाद अग्रिम में
यह आपके प्रश्न से स्पष्ट नहीं है, लेकिन मैं यह सरणी मानता हूँ
सरणी ('आइटम' = & gt; सरणी ('आइटम' = & gt; सरणी ((int) 0 = & gt; सरणी ('@ इटेम' = & gt; '3-394-001068-00000'), (इंट) 1 = & gt; सरणी ('@ इटेम' = & gt; '3-394-001069-00000'), आपका डीबग ($ xmlarray); का परिणाम है, इसलिए हम एक फ़ाइल का मिस्लोस्थान रद्द कर सकते हैं (अगर मैं गलत मान रहा हूं, बताओ) । तो, हैश आपकी समस्या है।
अनुसार, {n} का संदर्भ "एक संख्यात्मक कुंजी" और "आइटम" "स्पष्ट रूप से नहीं है। यदि आप" आइटम "के अंदर सभी" आइटम "को निकालना चाहते हैं, तो यह होना चाहिए हैश :: निकालने ($ xmlarray, 'items.item'); और वह आपको
सरणी ((int) 0 = & gt; सरणी ('@ इटैम' = & gt; '3-394-001068-00000' ), (इंट) 1 = & gt; सरणी ('@ इटेम' = & gt; '3-394-001069-00000'), / * etc * / और, यदि आप बहुत कॉम्पैक्ट सरणी (पता नहीं है कि आपको इंडेक्स एसोसिएशन की जरूरत है) चाहते हैं, तो आप
हैश :: अर्क ($ xmlarray, 'items.item। ।} @ आइटम '); और वह आपको
सरणी ('3-394-001068-00000', '3-394-001069-00000') प्राप्त करेगा < / कोड>
Comments
Post a Comment