如何排序这个数组PHP

时间:2012-05-25 19:41:38

标签: php arrays

我有以下数组,我想在价格值之后订购主题。我一直在php手册中检查array_multisort()函数但是我不清楚如何才能获得结果。

我的数组看起来

array=>(0=>array(id=>'1', name=>'example1', price='200'))
array=>(1=>array(id=>'2', name=>'example1', price='120'))
array=>(2=>array(id=>'3', name=>'example1', price='160'))

在价格之后,订单应为

array=>(1=>array(id=>'2', name=>'example1', price='120'))
array=>(2=>array(id=>'3', name=>'example1', price='160'))
array=>(0=>array(id=>'1', name=>'example1', price='200'))

1 个答案:

答案 0 :(得分:2)

使用usort()

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

usort ($array, "cmp");

MonkeyMonkeys的替代方案:

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

usort ($array, "cmp");