json - PHP array gets converted to int when using json_encode -


मेरे पास निम्न सरणी संरचना है:

  अर्रे ([t] => 812 [0] = & gt; ऐरे ([5] = & gt; 649 [6] = & gt; 12) [2] = & gt; ऐरे ([0] = & gt; 10) [3] = & gt; अर्रे ([0] = & Gt; 1) [4] = & gt; ऐरे ([0] = & gt; 152))   

इस समय सभी सरणी अनुक्रमणिका (टी के अलावा) पूर्णांक हैं।

मैं इसे json_encode () का उपयोग कर इसे JSON समकक्ष में परिवर्तित करना चाहता हूं, लेकिन जब मैं ऐसा करता हूँ तो किसी भी सरणियों में जिनके पास सिर्फ एक इंडेक्स है (इंडेक्स 0) एक सरणी के बजाय एक पूर्णांक में परिवर्तित हो जाते हैं। / P>

उदाहरण

  [2] = & gt; एरे ([0] = & gt; 10)   

को रूपांतरित हो जाता है ..

  {"2": [10]   
  {"2": [0:10]   

यह उपयोग करने के लिए JSON के लिए ठीक होगा स्ट्रिंग इंडेक्स्स के बजाय इंटिजर्स अगर समस्या तय की गई है ..

  {"2": ["0": 10]}   

मैं इसे एक को हल कर सकता हूं?

इन्हें एक पूर्णांक में परिवर्तित नहीं किया जाता है, लेकिन केवल एक सरणी के साथ एक तत्व!

JSON वर्ग कोष्ठक में [] एक सरणी को दर्शाता है, जबकि घुंघराले कोष्ठक {} किसी ऑब्जेक्ट को निरूपित करता है।

यदि आप json_encode को आउटपुट ऑब्जेक्ट्स पर बल देना चाहते हैं, जैसे आपके उदाहरण में, आप JSON_FORCE_OBJECT ():

  $ एन्कोडेड विकल्प चुन सकते हैं = Json_encode (yourArray, JSON_FORCE_OBJECT);    

Comments