php - array_push with associative array results in a multidimentional array -


मेरे पास निम्न कार्य है जो कुछ सामान करता है और एक सरणी देता है:

  function do_work ($ सरणी) {$ result = array (); सरणी_पश ($ परिणाम, सरणी ("हहाहाह" = & gt; "लोहूओउल")); विदेशी मुद्रा ($ कुंजी के रूप में $ सरणी = & gt; $ val) {array_push ($ परिणाम, सरणी ($ key = & gt; $ val)); } वापसी का परिणाम; }  

मैं इसे मूल रूप से कॉल करता हूं और इसमें $ _ GET सरणी देता हूं। अंत में मैं जो उम्मीद करता हूं वह एक फ्लैट JSON ऑब्जेक्ट है I लेकिन इसके बजाय यह एक JSON सरणी देता है:

मेरे कॉलिंग कोड में:

  $ array = do_work ($ _ GET); गूंज json_encode ($ सरणी);  

अगर मैं GET एआरएम् के बाद फ़ंक्शन देता हूं:

  हैंडलर.एफ़पी? एक्शन = रजिस्टर_न्यू_युजर और बिट = ऐसा होता है  

कोड>

यह परिणाम होगा, लेकिन मैं इसे एक सरणी JSON नहीं चाहता हूँ:

  [["HAHAHAH": "looooooool"}, { "कार्रवाई": "register_new_user"}, {"बकवास": "होता है"}]  

< P> array_push सरणी के अंत में सामग्री को धक्का देता है, और आप सरणी के अंत में एक सरणी को धक्का दे रहे हैं, जिसका अर्थ है कि आप बहुआयामी सरणी का निर्माण कर रहे हैं।

यदि आप दो सरणियों को मर्ज करना चाहते हैं, तो array_merge का उपयोग करें या सीधे मान सेट करें यदि यह एक एकल मान है:

  $ foo = array ('one' = & gt; 1, 'दो' = & gt; 2); $ Bar = सरणी ('तीन' = & gt; 3, 'चार' = & gt; 4); $ Foobar = array_merge ($ foo, $ बार); // अन्यथा $ एफू ['तीन'] = 3;  

Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -