php分组
Ⅰ php 分组显示数据例如1-100,101-200这样
$tab=100; 每个显示多少
$total=一共多少。(select cout(*) from xx);就可以
$page=ceil($total/$tab)需要几页,比如一共10个,每页3个就是10/3=3.....1,所以ceil向上取整10/3=4页
$nowPage=0;
然后select * from xx limit $nowPage*$tab,$tab;就可以取出相应的了
第一个 就是0,0*100然后取100条,就是1-100;
然后1*100,再取100条,就是 101-200;
Ⅱ PHP正则表达式中分组的提取
我也不懂,你先用 /[AQI:(.*?)]/ /\[AQI:(.*?)\]/试试
或 /\[AQI:(.*?)\]/s
Ⅲ 如何实现PHP根据数组的值进行分组
PHP根据数组的值分组,php array中没有自带这个函数但是很常用
代码:
$_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_mp(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]=>
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"
}
}
}
Ⅳ PHP查询信息通过分组名字查出该分组下所有的成员
使用关联查询sql语句:
select a.* from user a,dept b,deptuser c where c.uid=a.uid and c.cid=b.cid where b.name like '%组名%'
Ⅳ PHP按id分组
<?php
$arr=array(
array('exh_id'=>1,'date'=>20170713,'hot_level'=>'12.00','audience'=>12),
array('exh_id'=>1,'date'=>20170714,'hot_level'=>'1.00','audience'=>1),
array('exh_id'=>1,'date'=>20170715,'hot_level'=>'1.00','audience'=>1),
array('exh_id'=>2,'date'=>20170713,'hot_level'=>'7.00','audience'=>7),
array('exh_id'=>2,'date'=>20170714,'hot_level'=>'0.00','audience'=>7),
);
foreach($arras$val){
$tmp_1=array();
$tmp_1['date']=$val['date'];
$tmp_1['audience']=$val['audience'];
$tmp_1['hot_level']=$val['hot_level'];
$result[$val['exh_id']]['exhibitor_id']=$val['exh_id'];
$result[$val['exh_id']]['detail'][]=$tmp_1;
}
echojson_encode($result);
请采纳
Ⅵ php 循环分组显示
第一次for循环输出奇数个(1、3、5、7……,控制是if($i%2==1))
第二次for循环输出偶数个(2、4、6、8……,控制是if($i%2==0))
Ⅶ php数字分组求和
<?php
var_mp(chunk_split("",2));
//http://www.hi-docs.com/php/chunk_split.html
?>
Ⅷ php mysql group分组后怎么排序
在group时使用*查询有些不合适的, 建议仔细研究group的作用.
一般使用group时, select 字段列表里,一定要包含group的字段, 其余的字段也必须和group字段一一对应的, 不然查询结果会有问题. 然后再根据字段列表里的某些字段进行排序就没有问题了.
--group_name,group_id,group_add_time个字段分别为分类名称,分类id和分类添加的时间,它们是一一对应的.如此查询是正确的
selectgroup_name,group_id,group_add_timefromtable_namegroupbygroup_idorderbygroup_add_timeasc;
--查询错误.一个分组(group_id)里可能有多个uid,非一一对应
selectuid,group_name,group_id,group_add_timefromtable_namegroupbygroup_idorderbygroup_add_timeasc;
Ⅸ php数组如何根据相同值再分组
这个答案是错误的!请及时认清。我想问一下答主你是这么想的?
请查考下面的这些PHP函数
统计:
array_count_values 统计数组中所有的值出现的次数
array_proct 计算数组中所有值的乘积
array_sum 计算数组中所有值的和
count 计算数组中的单元数目或对象中的属性个数
sizeof count() 的别名
搜索:
array_key_exists 检查给定的键名或索引是否存在于数组中
array_search 在数组中搜索给定的值,如果成功则返回相应的键名
in_array 检查数组中是否存在某个值
排序:
array_multisort 对多个数组或多维数组进行排序
arsort 对数组进行逆向排序并保持索引关系
asort 对数组进行排序并保持索引关系
krsort 对数组按照键名逆向排序
ksort 对数组按照键名排序
natcasesort 用“自然排序”算法对数组进行不区分大小写字母的排序
natsort 用“自然排序”算法对数组排序
rsort 对数组逆向排序
sort 对数组排序
uasort 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
uksort 使用用户自定义的比较函数对数组中的键名进行排序
usort 使用用户自定义的比较函数对数组中的值进行排序
shuffle 将数组打乱
交集:
array_intersect_assoc 带索引检查计算数组的交集
array_intersect_key 使用键名比较计算数组的交集
array_intersect_uassoc 带索引检查计算数组的交集,用回调函数比较索引
array_intersect_ukey 用回调函数比较键名来计算数组的交集
array_intersect 计算数组的交集
array_key_exists 用回调函数比较键名来计算数组的交集
array_uintersect_assoc 带索引检查计算数组的交集,用回调函数比较数据
array_uintersect 计算数组的交集,用回调函数比较数据
差集:
array_udiff_assoc 带索引检查计算数组的差集,用回调函数比较数据
array_udiff_uassoc 带索引检查计算数组的差集,用回调函数比较数据和索引
array_udiff 用回调函数比较数据来计算数组的差集
array_diff_assoc 带索引检查计算数组的差集
array_diff_key 使用键名比较计算数组的差集
array_diff_uassoc 用用户提供的回调函数做索引检查来计算数组的差集
array_diff_ukey 用回调函数对键名比较计算数组的差集
array_diff 计算数组的差集
获取数组的部分内容:
array_chunk 将一个数组分割成多个
array_filter 用回调函数过滤数组中的单元
array_keys 返回数组中所有的键名
array_slice 从数组中取出一段
array_values 返回数组中所有的值
加工出所需数组:
array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作 为其值
array_fill 用给定的值填充数组
array_flip 交换数组中的键和值
array_map 将回调函数作用到给定数组的单元上
array_merge_recursive 递归地合并一个或多个数组
array_merge 合并一个或多个数组
array_pad 用值将数组填补到指定长度
array_push 将一个或多个单元压入数组的末尾(入栈)
array_reverse 返回一个单元顺序相反的数组
array_shift 将数组开头的单元移出数组
array_splice 把数组中的一部分去掉并用其它值取代
array_unique 移除数组中重复的值
array_unshift 在数组开头插入一个或多个单元
array_walk_recursive 对数组中的每个成员递归地应用用户函数
array_walk 对数组中的每个成员应用用户函数
compact 建立一个数组,包括变量名和它们的值
range 建立一个包含指定范围单元的数组
单元:
array_pop 将数组最后一个单元弹出(出栈)
array_rand 从数组中随机取出一个或多个单元
current 返回数组中的当前单元
pos current() 的别名
each 返回数组中当前的键/值对并将数组指针向前移动一步
end 将数组的内部指针指向最后一个单元
key 返回数组中当前单元的键名
list 把数组中的值赋给一些变量
next 将数组中的内部指针向前移动一位
prev 将数组的内部指针倒回一位
reset 将数组的内部指针指向第一个单元
其他:
array_rece 用回调函数迭代地将数组简化为单一的值
extract 从数组中将变量导入到当前的符号表
array 新建一个数组
Ⅹ 如何用php分组归类数据
$data1 = array("a2"->"类一","V4"->“类二”);
$data2 = array();
foreach($data1 as $key=>$value) {
$data2[$value] = $data2[$value].' '.$key;
}