2010-12-15 71 views
-2

任何人都可以給我一個想法來操作PHP中的數組。PHP數組操作

我有這樣的順序

$test = array(
       "0"=>"62" 
       "1"=>"61" 
       "2"=>"60" 
       "3"=>"53" 
       "4"=>"52" 
       "5"=>"51"); 

一個數組,但我需要重新安排或將其分類到這個命令。

$test = array(
       "2"=>"60" 
       "1"=>"61" 
       "0"=>"62" 
       "5"=>"51" 
       "4"=>"52" 
       "3"=>"53"); 

請幫我...

+1

什麼是您的訂單的「規則」? – 2010-12-15 13:34:55

+2

第二個示例中沒有明顯的順序。你希望我們能得到不同的數字嗎? – 2010-12-15 13:35:29

+1

所以,你想按值排序,其中第一個數字是降序,其他數字是升序約3位數字?什麼是61,62,63,101,110,121,122,130 .... – 2010-12-15 13:36:01

回答

3

(僅適用於兩位數字,見@Olivers評論)

這裏你去:

function csort($a, $b) { 
    $ta = floor($a/10); 
    $tb = floor($b/10); 
    if($ta !== $tb) { 
     return $tb - $ta; 
    } 
    return $a - $b; 
} 

$test = array(
       "0"=>"62", 
       "1"=>"61", 
       "2"=>"60", 
       "3"=>"53", 
       "4"=>"52", 
       "5"=>"51"); 

usort($test, "csort"); 
print_r($test); 

打印

Array 
(
    [0] => 60 
    [1] => 61 
    [2] => 62 
    [3] => 51 
    [4] => 52 
    [5] => 53 
) 

參考:usort

或者,如果你想保持指數ausort