दिलचस्प पोस्ट
बैकबोन.जेएस में दृश्य और मॉडल ऑब्जेक्ट्स का निपटान करना क्या मैं सीएसएस या jQuery का उपयोग कर स्क्रॉल स्पीड को बदल सकता हूँ? सिम्युलेटर पर ऐप अनइंस्टॉल करने के बाद NSUserDefaults साफ़ नहीं किए गए जावा का उपयोग कर स्थानीय सिस्टम का सबनेट मुखौटा कैसे प्राप्त करें? कैसे मुकाबला / unboxing व्यवहार Nullable <टी> संभव है? ग्रहण में एक और जावा प्रोजेक्ट से आयात करें कन्वर्ट शब्दकोश <स्ट्रिंग, वस्तु> अनाम वस्तु पर? संक्षिप्त वेक्टर पायथन में जोड़ने? विभिन्न सेटअपों के लिए ग्रेट करें सूचकांक को सूचकांक बनाएं जावास्क्रिप्ट जांचें कि फ़ंक्शन मौजूद है या नहीं UITableView सेल के अंदर यूआरएल से एसिंक छवि लोडिंग – स्क्रॉलिंग के दौरान छवि को गलत छवि में बदला जाता है अजगर में प्रत्येक क्यूबिस्ट के पहले आइटम को निकालें अपाचे को सीएसएस और जेएस फाइलों की मैन्युअल रूप से पूर्व संकुचित जीज़ फ़ाइल का उपयोग कैसे करें? क्लिक पर सीएसएस गुण बदलें मोबाइल या ब्राउज़र आधारित एप्लिकेशन से मोंगोडीबी को कनेक्ट करना

दो फ़ील्ड मानों से PHP सॉर्ट सरणी

मेरे पास इस तरह एक सरणी है

 अर्रे (
  [0] => सरणी ("गंतव्य" => "सिडनी",
                "एयरलाइंस" => "एयरलाइन_1",
                "one_way_fare" => 100,
                "वापसी_फेयर => 300
        ),
  [2] => सरणी ("गंतव्य" => "सिडनी",
                "एयरलाइंस" => "एयरलाइन_2",
                "one_way_fare" => 150,
                "वापसी_फेयर => 350
        ),
  [3] => सरणी ("गंतव्य" => "सिडनी",
                "एयरलाइंस" => "एयरलाइन_3",
                "एक_वे_हेयर" => 180,
                "वापसी_फेयर => 380
        )
 )

मैं return_fare asc, one_way_fare asc से कैसे मान को सॉर्ट कर सकता हूं?

मैंने array_multisort () की कोशिश की लेकिन मुझे डेटा को मिश्रित करना समाप्त हो गया ..

एस्पोर्ट केवल एक आयामी सरणी के लिए काम करता है, मुझे दो मानों या अधिक के अनुसार क्रमबद्ध करने की ज़रूरत है, मैं इसे SQL में कैसे प्राप्त कर सकता हूं, field1 asc, field2 asc द्वारा क्रम में?

Solutions Collecting From Web of "दो फ़ील्ड मानों से PHP सॉर्ट सरणी"

array_multisort() सही फ़ंक्शन है, आपको किसी तरह गड़बड़ करनी होगी:

 // Obtain a list of columns foreach ($data as $key => $row) { $return_fare[$key] = $row['return_fare']; $one_way_fare[$key] = $row['one_way_fare']; } // Sort the data with volume descending, edition ascending array_multisort($return_fare, SORT_ASC, $one_way_fare, SORT_ASC, $data); 

यदि आप array_multisort() लिए PHP के मैन्युअल पृष्ठ पर टिप्पणियों पर एक नज़र डालें, तो आपको एक बहुत ही उपयोगी array_orderby() फ़ंक्शन मिल सकता है जो आपको ऊपर से कम करने की अनुमति देता है:

 $sorted = array_orderby($data, 'return_fare', SORT_ASC, 'one_way_fare', SORT_ASC); 

Looping का उपयोग करें array_column() से बचने के लिए array_column() PHP 5.5.0 के रूप में):

 array_multisort(array_column($data, 'return_fare'), SORT_ASC, array_column($data, 'one_way_fare'), SORT_ASC, $data); 

array_multisort() अलावा, जो आपको पहले कॉलम-एरे बनाने की आवश्यकता है, वहाँ भी है usort() जो ऐसी चीज़ की आवश्यकता नहीं है

 usort($data, function($a, $b) { $rdiff = $a['return_fare'] - $b['return_fare']; if ($rdiff) return $rdiff; return a['one_way_fare'] - $b['one_way_fare']; }); // anonymous function requires PHP 5.3 - use "normal" function earlier 

या आप निम्न प्रकार का प्रयोग कर सकते हैं

 uasort($arr, function($a,$b){ $c = $a['return_fare'] - $b['return_fare']; $c .= $a['one_way_fare'] - $b['one_way_fare']; return $c; }); 

बेला

ओह, मैं अपना प्रश्न फिर से हल करने में सफल रहा ….

   
 फ़ंक्शन array_multi_sort ($ सरणी, $ on1, $ on2, $ order = SORT_ASC)
     {

         विदेशी मुद्रा ($ कुंजी $ $ के रूप में => $ मान) {
         $ one_way_fares [$ key] = $ मान [$ on2];
         $ वापसी_वर्क्स [$ कुंजी] = $ मान [$ on1];
         }

         array_multisort ($ return_fares, $ आदेश, $ one_way_fares, $ आदेश, $ सरणी);
     }

बात यह है कि मैं array_multisort पर अंतिम पैरामीटर $ सरणी ($ return_fares, $ order, $ one_way_fares, $ order, $ array) को याद नहीं किया; पहले!