2011-04-25 17 views
1
foreach($sql_result['record2'] as $key){ 
      echo $key['ENO']; 
} 

當iam做foreach循環爲上述語句。它輸出(10,9,2,8,4)。我需要它排序爲(2,4 ,8,9,10) 還有一件事是「$ key」是類型Array.when我喜歡這個array_multisort($ key ['ENO'])。我如何達致這我如何排序陣列中的關鍵項目

+0

可能重複(http://stackoverflow.com/questions/5780157/sorting-multidimensional-array ) – 2011-04-25 16:17:57

+0

這是一個SQL資源對象還是靜態數組?前者可以用SQL來完成。只是好奇你的變量名稱暗示這可能是一個SQL資源。 – 2011-04-25 16:21:36

+0

@Jason:這是SQL資源對象 – Someone 2011-04-25 16:23:19

回答

2
$vals = array(); 
foreach($sql_result['record2'] as $key){ 
    $vals[] = $key['ENO'] 
} 
sort($vals); 

,或者如果你想要將其值預先排序,你可以使用[排序多維數組]的usort()

0

未經測試的代碼,但是像下面應該工作....

$tmpArray = array(); 
foreach ($sql_result['record2'] as $key => $value) { 
    array_push($tmpArray, $value['ENO']); 
} 

array_multisort($tmpArray, SORT_DESC); 

在這一點上,$tmpArray將是你的價值觀的排序數組。或者,您可以在SQL中執行ORDER BY子句,在這種情況下,結果集將按您想要的值進行排序。

0

您不需要對數組進行排序,只需在SQL查詢中追加一個「ORDER by ENO」即可返回一個有序的結果。