php数据分组 php分类( 二 )


代码:
$_array = array(
array(1,11,'2016-05-18'),
array(2,11,'2016-05-18'),
array(3,22,'2016-05-18'),
array(4,22,'2016-05-18'),
array(5,33,'2016-05-19'),
array(6,33,'2016-05-19'),
array(7,44,'2016-05-19'),
array(8,44,'2016-05-19'),
array(9,55,'2016-05-20'),
array(10,55,'2016-05-20'),
);
var_dump(array_val_chunk($_array));
function array_val_chunk($array){
$result = array();
foreach ($array as $key = $value) {
$result[$value[1].$value[2]][] = $value;
}
$ret = array();
//这里把简直转成了数字的,方便同意处理
foreach ($result as $key = $value) {
array_push($ret, $value);
}
return $ret;
}
运行结果如下:
array(5) {
[0]=
array(2) {
[0]=
【php数据分组 php分类】array(3) {
[0]=
int(1)
[1]=
int(11)
[2]=
string(10) "2016-05-18"
}
[1]=
array(3) {
[0]=
int(2)
[1]=
int(11)
[2]=
string(10) "2016-05-18"
}
}
[1]=
array(2) {
[0]=
array(3) {
[0]=
int(3)
[1]=
int(22)
[2]=
string(10) "2016-05-18"
}
[1]=
array(3) {
[0]=
int(4)
[1]=
int(22)
[2]=
string(10) "2016-05-18"
}
}
[2]=
array(2) {
[0]=
array(3) {
[0]=
int(5)
[1]=
int(33)
[2]=
string(10) "2016-05-19"
}
[1]=
array(3) {
[0]=
int(6)
[1]=
int(33)
[2]=
string(10) "2016-05-19"
}
}
[3]=
array(2) {
[0]=
array(3) {
[0]=
int(7)
[1]=
int(44)
[2]=
string(10) "2016-05-19"
}
[1]=
array(3) {
[0]=
int(8)
[1]=
int(44)
[2]=
string(10) "2016-05-19"
}
}
[4]=
array(2) {
[0]=
array(3) {
[0]=
int(9)
[1]=
int(55)
[2]=
string(10) "2016-05-20"
}
[1]=
array(3) {
[0]=
int(10)
[1]=
int(55)
[2]=
string(10) "2016-05-20"
}
}
}
Thinkphp数据查询group分组如何取每组的最新记录本人用ThinkPHP3.2,今天正在开发一个需要分组显示的功能,可是从数据库中把相应数据读取后直接用group分组,结果每组显示的是最老的记录,我的需求是要显示每组的最新记录 。在网上大搜一翻后,未果,本人决定自行研究,现将方法记录于此以防遗忘 。
其实很简单,以供就两步:
第一步:
将符合条件的数据全部取出,暂不用group分组,作为子查询:
[php] view plain copy
$subQuery = $model-field('id,name')-table('tablename')-where($where)-order('time desc')-select(false);
第二部:
利用子查询进行查询分组
[php] view plain copy
$model-table($subQuery.' a')-group('field')-select();span style="font-family: Arial, Helvetica, sans-serif;" /span
好了,思路就是这样 。希望对大家有帮助!
php数据分组的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于php分类、php数据分组的信息别忘了在本站进行查找喔 。

推荐阅读