2011-05-26 10 views
6

यह प्रश्न ऐसा लगता है कि इसका एक सरल जवाब होना चाहिए लेकिन Google और php मैन्युअल मेरे लिए कोई सहायता नहीं कर रहे हैं, शायद मुझे समझ में नहीं आता कि वे मुझे क्या कह रहे हैं।PHP: सॉर्ट संख्यात्मक रूप से अवरोही

मैं एक सरणी उदाहरण है:

$outcomes_array = array(1,4,2,3,5); 

यह हमेशा सिर्फ संख्या में शामिल होंगे, मैं इस सरणी छँटाई इतना है कि यह अवरोही क्रम में हमेशा होता है के बारे में कैसे जाते हैं?

तो उत्पादन मैं चाहता हूँ:

$outcomes_array[0] = 5 
$outcomes_array[1] = 4 
$outcomes_array[2] = 3 

और इतने पर ...

धन्यवाद :)

+6

'rsort ($ outcomes_array);'। –

उत्तर

14

उपयोग rsort()

+0

धन्यवाद मुझे पता था कि यह सरल होना चाहिए: पी –

3
rsort($outcomes_array); 
print_r($outcomes_array); 
5
rsort($outcomes_array) 

ध्यान दें, यह नहीं

$outcomes_array = rsort($outcomes_array); 
2

rsort है एक संख्यात्मक सरणी ... कुंजी के साथ एक सरणी के लिए के लिए arsort उपयोग करने के लिए बेहतर है ... डी 'ओह!

0

डिफ़ॉल्ट रूप SORT_REGULAR है - आइटम सामान्य रूप से (प्रकार में परिवर्तन नहीं करते) की तुलना तो कोड होना चाहिए:

$outcomes_array = array(1,4,2,3,5); 
rsort($outcomes_array, SORT_NUMERIC);//SORT_NUMERIC - compare items numerically 
print_r($outcomes_array); 
0
$array = [2, 1, 22, 1, 3, 134, 3, 43, 23, 4]; 

function mi($arr){ 
    $count = count($arr); 
    for ($j = 0; $j < $count; $j++) { 
     $min = $arr[0]; 

     for ($i = 0; $i < count($arr); $i++) { 
      if ($arr[$i] <= $min) { 
       $min = $arr[$i]; 
      } 
     } 
     $ar[] = $min; 

     for ($i = 0; $i < count($arr); $i++) { 
      if ($arr[$i] == $min) { 
       unset ($arr[$i]); 
       $arr = array_values($arr); 
       break; 
      } 
     } 
    } 
    return $ar; 
} 
print_r(mi($array)); 
संबंधित मुद्दे