如何按字段对关联数组进行排序?

时间:2012-02-29 17:49:37

标签: php arrays sorting

我在这里有一些代码,我想通过'available'字段对$ lessons数组进行排序。数组本身包含课程ID和在纪元中开始的时间。我想排序时间,第一个是应该开始最快的那个。我在互联网上环顾四周,但我仍然不明白如何使用不同的排序功能......

任何帮助都会很棒。

    $lessons = array();
    foreach($lessonsArray as $lesson)//for each lesson get the starting time and its lesson id
    {   
        $lessons[] = array( 'id' => $lesson['id'], 'available' => $lesson['available']);            
    }

1 个答案:

答案 0 :(得分:0)

尝试接收回调函数的'uasort()'作为其第二个参数。创建回调函数以按照您想要的方式比较两个元素数组

function lessonCompare($a, $b) {
    if ($a['available'] == $b['available']) {
        return 0;
    }
    return ($a['available'] < $b['available']) ? -1 : 1;
}

然后致电

uasort($lessons, 'lessonCompare');