php 根据某个字段对二维数组这个数组排序
array(0=>array('id'=>1,'price'=>50),1=>array('id'=>2,'price'=>60));就是整个是个数组,数组里面还有2个数...
array(0=>array('id'=>1,'price'=>50),1=>array('id'=>2,'price'=>60));
就是整个是个数组,数组里面还有2个数组,我是想根据钱正序倒序排序,有没有好的方法根据里面的数组的price这个字段进行排序呢。
0对应1个数组,1对应一个数组。根据price倒序的话把2个数组换过来。 展开
就是整个是个数组,数组里面还有2个数组,我是想根据钱正序倒序排序,有没有好的方法根据里面的数组的price这个字段进行排序呢。
0对应1个数组,1对应一个数组。根据price倒序的话把2个数组换过来。 展开
2个回答
推荐于2018-03-19 · 知道合伙人软件行家
关注
展开全部
试编写代码如下:
<?php
$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 '<pre>';
print_r($array);
echo '</pre>';
?>
运行结果:
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
)
)
<?php
$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 '<pre>';
print_r($array);
echo '</pre>';
?>
运行结果:
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
)
)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对多个数组或多维数组进行排序可以使用array_multisort()函数
bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )
成功时返回 TRUE, 或者在失败时返回 FALSE.
相关案例请参考:https://panxu.net/article/8376.html
bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )
成功时返回 TRUE, 或者在失败时返回 FALSE.
相关案例请参考:https://panxu.net/article/8376.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询