php - Order array multi-dimensional -


मेरे पास एक सरणी है जो इस तरह दिखता है:

  $ cars = array (array ( 'ए' = & gt; 'ऑडी', 'बी' = & gt; 'ए 4'), ऐरे ('ए' = & gt; 'पेगीट', 'बी' = & gt; '306'), ऐरे ('a' = ' एआरए ('ए' = & gt; 'ऑडी', 'बी' = & gt; 'ए 5'), ऐरे ('ए' = & gt; 'प्यूज़ो', 'ए' ',' बी '= & gt; ',' बी '= & gt;' 106 '), सरणी (' ए '= & gt;' पेगोट ',' बी '= & gt;' 106 '),);   

मुझे इस तरह के arrays (आईडी नाम के समान है) की आवश्यकता है:

  name = & gt; ऑडी आईडी = & gt; ऑडी डेटा = & gt; ए 4 = & gt; 2 ए 5 = & gt; 1 नाम = & gt; पगुएट आईडी = & gt; पेगोट डेटा = & gt; 306 = & gt; 1 106 = & gt; 2   

तो कार ब्रांड को कार प्रकार की गिनती की जानी चाहिए।

मुझे पहले से ही यह कोड है; लेकिन यह केवल समूह के भाग के लिए है और गिनती का हिस्सा गायब है। <पूर्व> फ़ंक्शन मर्ज एंडऑर्डर ($ डेटा) {// सेट समूह एरेज़ $ i = 0; $ group1 = सरणी (); // लूप गर्त सरणी $ सरणी = सरणी (); $ array2 = सरणी (); अगर ($ डेटा! = नल) {foreach (डॉलर का डेटा $ पंक्ति) {// खोज और ऑर्डर स्तर 1 $ search = array_search ($ row- & gt; a, $ group1); // यह ऑब्जेक्ट नहीं मिला यदि (is_int ($ खोज) == गलत) {$ group1 [$ i] = $ row- & gt; a; $ सरणी [$ i] ['id'] = $ पंक्ति- & gt; a; $ सरणी [$ i] ['नाम'] = $ पंक्ति- & gt; ए; $ सरणी [$ i] ['डेटा'] = सरणी (); $ I ++; }}} वापसी $ सरणी; }

क्या किसी को इस मामले के समाधान का पता है? धन्यवाद!

--- INPUT (इस का भाग) --- ए = इस मामले में पट्टा कंपनी

  अर्रे ([0] = & gt; स्टड क्लास ऑब्जेक्ट ([बी ] = & gt; ऑडीआई [ए] = & gt; एलपीएन) [1] = & gt; STDClass ऑब्जेक्ट ([बी] = & gt; ऑडीआई [ए] = & gt; एलपीएन) [2] = & gt; STDClass ऑब्जेक्ट ([बी] = & gt; ऑडीआई [ए] = & gt; एलपीएन) [3] = & gt; STDClass ऑब्जेक्ट ([बी] = & gt; ऑडीआई [ए] = & gt; एलपीएन)   

--- OUTPUT ऐरे ([0] = & gt; एलएपीएन [नाम] = & gt; एलपीएन [डेटा] = & gt; अर्रे () ) [1] = & gt; एरे ([आईडी] = & gt; एआरवी [नाम] = & gt; एआरवी [डेटा] = & gt; एरे ()) [2] = & gt; ऐरे ([आईडी] = & gt; एआरवीबी [नाम ] = & gt; एआरवीबी [डेटा] = & gt; एरे ()) [3] = & gt; अरे ([आईडी] = & gt; एलपीडी [नाम] = & gt; एलपीडी [डेटा] = & gt; एरे ())) अर्रे [0] = & gt; ऐरे ([आईडी] = & gt; एलपीएन [नाम] = & gt; एलपीएन [डेटा] = & gt; ऐरे ()) [1] = & gt; अरे ([आईडी] = & gt; एआरवी [नाम] = & gt; एआरवी [डेटा] = & gt; एरे ()) [2] = & gt; ऐरे ([आईडी] = & gt; एआरवीबी [नाम] = & gt; एआरवीबी [डेटा] = & gt; एरे ())

< P> अगर मैं अपना प्रश्न सही ढंग से समझता हूं, तो यह आपको करना चाहिए।
  फ़ंक्शन मर्ज एंडऑर्डर ($ डेटा) {$ output = array (); विदेशी मुद्रा ($ आइटम $ आइटम के रूप में) {$ id = $ item- & gt; a; $ Value = $ item- & gt; बी; अगर (! array_key_exists ($ id, $ आउटपुट)) {$ आउटपुट [$ id] = array ('id' = & gt; $ id, 'name' = & gt; $ id, 'data' = & gt; सरणी ()) ; } अगर (! array_key_exists ($ मान, $ आउटपुट [$ id] ['डेटा'])) {$ आउटपुट [$ id] ['data'] [$ value] = 0; } $ आउटपुट [$ id] ['डेटा'] [$ value] ++; } // नाम तत्व यूसार्ट द्वारा आदेश ($ आउटपुट, फ़ंक्शन ($ a, $ b) {वापसी strcasecmp ($ a ['name'], $ b ['name']);}); वापसी $ आउटपुट; }    

Comments

Popular posts from this blog

Pass DB Connection parameters to a Kettle a.k.a PDI table Input step dynamically from Excel -

multithreading - PhantomJS-Node in a for Loop -

c++ - MATLAB .m file to .mex file using Matlab Compiler -