दिलचस्प पोस्ट
Struts2 नामस्थान और क्रिया नाम संदर्भ पथ के साथ संबद्ध कोई कार्रवाई नहीं है NSDateFormatter गलत वर्ष दिखाता है Jquery के साथ एक तत्व के वेबकीट-रूपांतरण का मूल्य प्राप्त करें Wchar_t * को char * कैसे परिवर्तित करें? क्यों कोशिश करो! () और? जब मुख्य में प्रयोग किया जाता है तो संकलन नहीं? उद्देश्य सी – लाइन नंबर या पूर्ण स्टैक ट्रेस डीबगर त्रुटि से प्राप्त हो रहा है? आर में एक स्ट्रिंग कन्टाटाइनेशन ऑपरेटर बनाना सीएसएस में पहला अक्षर अपरकेस बनायें एएसपी.नेट में नियंत्रण क्लाइंट का नाम और ID न पहुंचना प्रारंभिक सूची के लाभ एलेवेट विशेषाधिकार के साथ या बिना प्रशासक के रूप में चलाने का पता लगाएं? आप विधि मापदंडों के नाम कैसे प्राप्त कर सकते हैं? वापसी का प्रकार '?:' (टर्नरी सशर्त ऑपरेटर) मूल C ++ (C ++ \ CLI और IJW का उपयोग करके) सी # पुस्तकालय को कैसे कॉल किया जाए MVC4 में ब्राउजर बैक बटन क्लिक ब्राउजर कैश कैसे साफ़ करें?

दो फ़ील्ड मानों से 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) को याद नहीं किया; पहले!