按键值排序数组

时间:2012-05-01 23:47:14

标签: php

这是我当前要添加到数组的代码:

foreach ($query->result() as $exp) {
    $activities[] = array('type' => 'level', 'exp' => $exp->exp, 'timestamp' => $badge->timestamp);
}

我如何根据'timestamp'键的值对这个数组进行排序?

2 个答案:

答案 0 :(得分:2)

您需要使用usort,这样您就可以使用用户定义的函数对数组进行排序。

http://www.php.net/manual/en/function.usort.php

示例:

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

答案 1 :(得分:0)

我会使用函数array-multisort进行实际排序,我也会以不同方式存储值:

foreach ($query->result() as $exp) {
  $activities[$badge->timestamp] = array('type' => 'level',... );
}
array_multisort($activities, SORT_ASC, $array);

http://php.net/manual/en/function.array-multisort.php