PHP根據(jù)數(shù)組的值分組,php array中沒有自帶這個函數(shù)但是很常用
目前創(chuàng)新互聯(lián)建站已為上1000+的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)頁空間、網(wǎng)站托管、服務器托管、企業(yè)網(wǎng)站設計、永濟網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
代碼:
$_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();
//這里把簡直轉成了數(shù)字的,方便同意處理
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"
}
}
}
$data1 = array("a2"-"類一","V4"-“類二”);
$data2 = array();
foreach($data1 as $key=$value) {
$data2[$value] = $data2[$value].' '.$key;
}
分組查詢原理都是SQL的分組查詢,THINKPHP中只是用到他自己的一些自定義的方法!比如 join()、group()、having()方法等,實際對應的也是SQL里的這些關鍵字!
例如本次需求是要按照cid進行分組,按照通常的做法是 SELECT * FROM 表名 GROUP BY cid,這樣就能按照cid進行分組篩選!然后使用THINKPHP的時候則使用 M('表名')-group('cid')-select(); 實際生成的語句和原始SQL代碼是一樣的。
愚見:
用函數(shù)explode(",",$hq_str_sh601006)
能把字符串按照逗號分開??梢灾苯淤x值給一個數(shù)組變量。
如:$hq_str_arr=explode(",",$hq_str_sh601006);
然后你自己可以從數(shù)組中按照你獲取的順序給數(shù)組中相應的元素賦值給數(shù)據(jù)庫的對應字段。
希望有幫助。