php 根据某个字段对二维数组这个数组排序

2025-04-06 22:42:22
推荐回答(2个)
回答1:

试编写代码如下:

$array[] = array('id'=>1,'price'=>50);
$array[] = array('id'=>2,'price'=>70);
$array[] = array('id'=>3,'price'=>30);
$array[] = array('id'=>4,'price'=>20);

foreach ($array as $key=>$value){
$id[$key] = $value['id'];
$price[$key] = $value['price'];
}

array_multisort($price,SORT_NUMERIC,SORT_DESC,$id,SORT_STRING,SORT_ASC,$array);
echo '

';
print_r($array);
echo '
';
?>

运行结果:

Array
(
[0] => Array
(
[id] => 2
[price] => 70
)

[1] => Array
(
[id] => 1
[price] => 50
)

[2] => Array
(
[id] => 3
[price] => 30
)

[3] => Array
(
[id] => 4
[price] => 20
)

)

回答2:

对多个数组或多维数组进行排序可以使用array_multisort()函数
bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )

成功时返回 TRUE, 或者在失败时返回 FALSE.
相关案例请参考:https://panxu.net/article/8376.html