⑴ 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根據數組的值進行分組
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數組如何根據相同值再分組
這個答案是錯誤的!請及時認清。我想問一下答主你是這么想的?
請查考下面的這些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 循環分組顯示
第一次for循環輸出奇數個(1、3、5、7……,控制是if($i%2==1))
第二次for循環輸出偶數個(2、4、6、8……,控制是if($i%2==0))
⑸ 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分組歸類數據
$data1 = array("a2"->"類一","V4"->「類二」);
$data2 = array();
foreach($data1 as $key=>$value) {
$data2[$value] = $data2[$value].' '.$key;
}
⑺ PHP正則表達式中分組的提取
我也不懂,你先用 /[AQI:(.*?)]/ /\[AQI:(.*?)\]/試試
或 /\[AQI:(.*?)\]/s
⑻ 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 分組顯示數據例如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數字分組求和
<?php
var_mp(chunk_split("",2));
//http://www.hi-docs.com/php/chunk_split.html
?>