से PHP एसोसिएटिव सरणी पास करना क्या एक्सएमएल से PHP से एसोसिएटिव सरणी को मार्शल करने का कोई आसान तरीका है?एक्सएमएल
$items = array("1", "2",
array(
"item3.1" => "3.1",
"item3.2" => "3.2"
"isawesome" => true
)
);
मैं कैसे संभव के रूप में है, तो फिर से वापस के रूप में कुछ पंक्तियों में निम्न XML करने के लिए कुछ इसी तरह में बदल जाएगा: उदाहरण के लिए, मैं निम्नलिखित सरणी है?
<items>
<item>1</item>
<item>2</item>
<item>
<item3_1>3.1</item3_1>
<item3_2>3.2</item3_2>
<isawesome>true</isawesome>
</item>
</items>
मैं वास्तव में परवाह नहीं है मैं सरणी संरचना थोड़ा या यदि एक्सएमएल कि बाहर आता है ऊपर के उदाहरण के लिए अलग है परिवर्तित करने के लिए किया है। मैं PHP के XMLReader और XMLWriter के साथ काम करने की कोशिश कर गया है, लेकिन प्रलेखन इतना गरीब है और कोड मैं एक परिणाम के रूप में निर्मित किया गया है कि मैं क्या लगता है कि यह देखना चाहिए की तरह कुछ भी दिखता है:
$xml = SomeXMLWriter::writeArrayToXml($items);
$array = SomeXMLWriter::writeXmlToArray($xml);
यह वास्तव में करता है अपनी खुद की कस्टम कक्षा लिखने के बिना एक PHP सरणी का मूल, कच्चा एक्सएमएल डंप प्राप्त करने के लिए उससे कहीं अधिक कठिन होना चाहिए?
मैं पियर से बचने की कोशिश करता हूं। कॉन्फ़िगरेशन सिरदर्द के अलावा, मैंने इसके साथ कभी भी उपयोग नहीं किया है, मैंने कभी भी किसी भी पैकेज के साथ अटक नहीं लिया है जिसे मैंने कभी भी उपयोग किया है।
आप गैर साहचर्य सरणियों (या बल्कि, उन में संख्या के साथ सरणी कुंजी) आपके डेटा में, एक जोड़ने अगर 'अगर (is_numeric ($ कुंजी)) $ key = "आइटम",' foreach ब्लॉक (is_array से पहले) की शुरुआत में चाल है। – Kemal
संख्यात्मक सरणी के साथ कार्यात्मक होने के लिए, '$ fKey = is_numeric ($ key) जोड़ें? 'numericValue': $ key; '** ** ** ** (if_array ($ value)) 'कथन, और शेष foreach कथन में' $ fKey' का उपयोग करें। – Vassilis
ओह @ वासिलिस जीआर, मैंने वहां कुछ ऐसा किया: 'अगर (is_numeric ($ key)) {$ key =' node '; } 'और 'फ़ंक्शन लिखें' को बाहर ले जाया गया है, आप एक ही फ़ंक्शन को दो बार घोषित नहीं कर सकते हैं, लेकिन @ कोनराड अब वह करेगा। (ओह, मैं अब देखा टिप्पणी @disq haha) – Wiliam