如何对与数据库数据相同的数组进行排序?
我请求谷歌分析数据,数据是一个大数组,我想将数组与本地数据库中的一些其他字段连接起来,然后我再次扩展大数组。现在我想对大数组进行排序,这与使用我的 sql 相同,如下所示:
select * from ga_table where ...
select * from ga_table order by age
select * from ga_table group by name
我的数组现在是这样的:
$arr=array(
'header'=>array('name','age','money'),
'values'=>array(
array('jimmy',20,30),
array('tina',18,12),
array('darcy',19,50),
)
);
but now I had a large array not a db table , then how to sort the array ?
你可以试试array_multisort
: http://php.net/manual/en/function.array-multisort.php http://php.net/manual/en/function.array-multisort.php
foreach ($arr['values'] as $key => $row) {
$name[$key] = $row[0];
$age[$key] = $row[1];
$money[$key] = $row[3];
}
现在,如果您想在 ASC 中按名称排序,您可以:
array_multisort($name, SORT_ASC, $arr['values']);
或按名称 DESC:
array_multisort($name, SORT_DESC, $arr['values']);
或年龄 ASC:
array_multisort($age, SORT_ASC, $arr['values']);
或年龄 DESC 和姓名 ASC
array_multisort($age, SORT_DESC, $name, SORT_ASC, $arr['values']);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)