PHP中怎么根据二维数组中的子数组的某个元素进行排序
//先用array_column 多维数组按照纵向(列)取出
公司主营业务:网站制作、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出黄陵免费做网站回馈大家。
$date = array_column($arr, '0');
//上面得到的结果:array()
//再用array_multisort 结合array_column得到的结果对$arr进行排序
array_multisort($date,SORT_ASC,$arr);
如何对PHP二维数组根据第二维某键值去重和排序
1 需要排序的数组如下:
$array = array(
array('name'='手机','brand'='诺基亚','price'=1050),
array('name'='笔记本电脑','brand'='lenovo','price'=4300),
array('name'='剃须刀','brand'='飞利浦','price'=3100),
array('name'='跑步机','brand'='三和松石','price'=4900),
array('name'='手表','brand'='卡西欧','price'=960),
array('name'='液晶电视','brand'='索尼','price'=6299),
array('name'='激光打印机','brand'='惠普','price'=1200)
);
2 排序的函数:
function arr_sort($array,$key,$order="asc"){//asc是升序 desc是降序
$arr_nums=$arr=array();
foreach($array as $k=$v){
$arr_nums[$k]=$v[$key];
}
if($order=='asc'){
asort($arr_nums);
}else{
arsort($arr_nums);
}
foreach($arr_nums as $k=$v){
$arr[$k]=$array[$k];
}
return $arr;
}
3 调用方式:
arr_sort($array,'price');
php 根据某个字段对二维数组这个数组排序
试编写代码如下:
?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二位数据排序 php二位数据排序方法
URL标题:http://scgulin.cn/article/doesdeg.html