-1

我有以下数组,我想在价格值之后订购主题。我一直在检查 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'))
4

1 回答 1

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");
于 2012-05-25T19:43:30.670 回答