2014-02-26 92 views
1

我的数组:PHP排序assoc命令阵列

array(n) { 
[...], 
[100]=> 
    array(4) { 
    [0]=> 
    array(15) { 
     ["TIME_PAIR"]=> 
     string(11) "16:35" 
    } 
    [1]=> 
    array(15) { 
     ["TIME_PAIR"]=> 
     string(11) "11:25" 
    } 
    [2]=> 
    array(15) { 
     ["TIME_PAIR"]=> 
     string(11) "13:25" 
    } 
    [3]=> 
    array(15) { 
     ["TIME_PAIR"]=> 
     string(11) "15:00" 
    } 
    } 
[...] 
} 

我需要"TIME_PAIR"值在array(n)[100]数组进行排序。 Som array[100][0]应该在最后。如何做这样的排序?香港专业教育学院尝试使用array_multisort但它总是不适合我(

+2

您可能需要使用[usort(http://us1.php.net/usort) - HTTP://计算器。 COM /问题/ 2699086 /排序多维阵列逐值 –

+1

你想要的结果是什么?我想每个子数组(即$ array [100])应该按“TIME_PAIR”排序,但是子排列的顺序是怎样的?你能显示样本输入和期望的输出吗? – ziollek

+1

@wingsofovnia:尝试下面的解决方案.. – Haroon

回答

1

嗨,你可以使用usort PHP函数工作进行排序下方的阵列是完整的代码。

$arr = array(
      "100"=>array(
       array("TIME_PAIR"=>"16:35"), 
       array("TIME_PAIR"=>"11:25"), 
       array("TIME_PAIR"=>"13:25"), 
       array("TIME_PAIR"=>"15:00"), 
      ) 

      ); 

echo "<pre>"; 
print_r($arr); 
echo "</pre>"; 

function cmp($a, $b) { 
    return $a['TIME_PAIR'] - $b['TIME_PAIR']; 
} 

$res = usort($arr[100],"cmp"); 

echo "<pre>"; 
print_r($arr); 
echo "</pre>"; 

您将有以下结果。 。

Array 
(
[100] => Array 
    (
     [0] => Array 
      (
       [TIME_PAIR] => 11:25 
      ) 

     [1] => Array 
      (
       [TIME_PAIR] => 13:25 
      ) 

     [2] => Array 
      (
       [TIME_PAIR] => 15:00 
      ) 

     [3] => Array 
      (
       [TIME_PAIR] => 16:35 
      ) 

    ) 

) 

随意问任何问题... :)