2013-03-23 61 views
4
$array = array(5,4,6,8,5,3,4,6,1); 

我想排序$arrayasort做,但問題是,asort是一個函數,它的產品不能被存儲在一個變量。數組排序按價值計算,並存儲在變量

我怎麼能這樣做?:

$array = array(5,4,6,8,5,3,4,6,1); 
$sorted_array = asort($array); 

編輯:我也想$array以保持其原有的秩序。

+0

自己沒東東d存儲'asort'的結果,因爲它是在'$ array'內部排序的,現在你可以直接使用'$ array'訪問排序後的數組。 – 2013-03-23 05:13:50

+0

是的,但我也失去了我原來的訂單。 – UserIsCorrupt 2013-03-23 05:16:27

回答

7

執行此操作在其原來的順序保持$array

$array = array(5,4,6,8,5,3,4,6,1); 
$sorted_array = $array; 
asort($sorted_array); 

輸出

http://codepad.viper-7.com/8E78Fo

+4

什麼地獄,我真是太笨了。謝謝! – UserIsCorrupt 2013-03-23 05:17:21

2
$orignal_array = array(5,4,6,8,5,3,4,6,1); 
$copied_array = $orignal_array; 

asort($copied_array); 
$sorted_array = $copied_array; 

not the most efficient way to do it though :(
+0

我應該提到我希望'$ array'保持原來的順序。 – UserIsCorrupt 2013-03-23 05:13:17

+0

我仍然認爲有更好的方法來做到這一點。 – 2013-03-23 05:19:57

0

排序首先,然後分配給它

asort($array); 
$sorted_array = $array