新聞中心
如何實現(xiàn)PHP根據(jù)數(shù)組的值進行分組
PHP根據(jù)數(shù)組的值分組,php array中沒有自帶這個函數(shù)但是很常用
創(chuàng)新互聯(lián)專注于湄潭網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供湄潭營銷型網(wǎng)站建設(shè),湄潭網(wǎng)站制作、湄潭網(wǎng)頁設(shè)計、湄潭網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務(wù),打造湄潭網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供湄潭網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
代碼:
$_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();
//這里把簡直轉(zhuǎn)成了數(shù)字的,方便同意處理
foreach ($result as $key = $value) {
array_push($ret, $value);
}
return $ret;
}
運行結(jié)果如下:
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數(shù)據(jù)數(shù)組重新分組
$arr?=?array(
"圓柱加"?=?array(
"data"?=?array(
array(
"product_id"?=?36,
"style_id"?=?102,
"style_name"?=?"圓柱架",
"product_sn"?=?"MMJ000036",
"product_thumb"?=?"a.jpg"
),
array(
"product_id"?=?36,
"style_id"?=?102,
"style_name"?=?"圓柱架",
"product_sn"?=?"MMJ000036",
"product_thumb"?=?"a.jpg"
),
)
),
"蝴蝶夾"?=?array(
"data"?=?array(
array(
"product_id"?=?36,
"style_id"?=?102,
"style_name"?=?"蝴蝶夾",
"product_sn"?=?"MMJ000036",
"product_thumb"?=?"a.jpg"
),
array(
"product_id"?=?36,
"style_id"?=?102,
"style_name"?=?"蝴蝶夾",
"product_sn"?=?"MMJ000036",
"product_thumb"?=?"a.jpg"
),
)
)
);
$count?=?0;
foreach($arr?as?$k=$v){
$arr[$k]['group_name']?=?$k;
$arr[$count]?=?$arr[$k];
unset($arr[$k]);
$count++;
}
echo?json_encode($arr);
這樣輸出出來格式是"data":[{}],"group_name": "XXX"
反正是json 反的也沒問題吧?
寫這么多你都不給我采納一下。。。
THINKPHP中怎么對數(shù)據(jù)進行分組查詢?
分組查詢原理都是SQL的分組查詢,THINKPHP中只是用到他自己的一些自定義的方法!比如 join()、group()、having()方法等,實際對應(yīng)的也是SQL里的這些關(guān)鍵字!
例如本次需求是要按照cid進行分組,按照通常的做法是 SELECT * FROM 表名 GROUP BY cid,這樣就能按照cid進行分組篩選!然后使用THINKPHP的時候則使用 M('表名')-group('cid')-select(); 實際生成的語句和原始SQL代碼是一樣的。
網(wǎng)頁名稱:php數(shù)據(jù)分組 php數(shù)組分為
網(wǎng)頁路徑:http://fisionsoft.com.cn/article/hpshcs.html