तो मुझे क्या यह:json_encode के लिए अलग परिणाम() पीएचपी
$new_arr = array(
0 => 'keyboard',
1 => 'mouse',
2 => 'computer'
);
print_r(json_encode($new_arr));
आउटपुट:
[ "कीबोर्ड" "माउस", "कंप्यूटर"]
लेकिन कहें कि मैं अपने डेटाबेस से "उत्पाद" तालिका की सभी पंक्तियां प्राप्त करता हूं और मैं यह करता हूं:
$product_with_id_map = array();
foreach($query as $result) {
$product_with_id_map[$result->id] = $result->name;
}
print_r(json_encode($product_with_id_map));
आउटपुट:
{ "0": "कीबोर्ड", "1": "माउस", "2": "कंप्यूटर"}
मैं वास्तव में के प्रमुख बनाए रखने की आवश्यकता सरणी जब मैं json_encode भी आपको बता सकता हूं कि पहले उदाहरण में दूसरा आउटपुट कैसे प्राप्त किया जाए?
बस मुझे आपका प्रश्न सही है: दूसरा आउटपुट फॉर्म वांछित है, है ना? – vzwick
हाँ, मैं वास्तव में अपने json_encode –
* में सरणी कुंजी को बनाए रखना चाहता हूं * जब मैं json_encode ... "* वास्तव में आपके पास है, तो मुझे सरणी की कुंजी को बनाए रखने की आवश्यकता है।" दोनों उदाहरणों में चाबियाँ समान हैं। लेकिन पहला एक सरणी है, दूसरा केवल संपत्ति की चाबियों वाला एक ऑब्जेक्ट है जिसमें पूरी तरह से अंक हैं। यदि इस JSON को डीकोड करने वाली भाषा जावास्क्रिप्ट है, तो यह बहुत सूक्ष्म अंतर है (जैसे सरणी कुंजी जावास्क्रिप्ट में तार हैं - [हाँ, वास्तव में] (http://blog.niftysnippets.org/2011/01/myth-of-arrays। एचटीएमएल))। अन्य भाषाओं में भिन्नता हो सकती है। –