2010-12-15 183 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