php通过inarray值排序关联数组

时间:2014-02-26 20:14:37

标签: php arrays sorting

我的阵列:

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"
    }
  }
[...]
}

我需要在array(n)[100]中按"TIME_PAIR"值对数组进行排序。索姆array[100][0]应该在最后。怎么做这种?我曾尝试使用array_multisort,但它始终不适合我(

1 个答案:

答案 0 :(得分: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
            )

    )

 )

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