《PHP教程:PHP 根據(jù)key 給二維數(shù)組分組》要點(diǎn):
本文介紹了PHP教程:PHP 根據(jù)key 給二維數(shù)組分組,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP教程我們經(jīng)常拿到一個(gè)二維數(shù)組出來(lái),會(huì)發(fā)現(xiàn)結(jié)果和自己想要的有些偏差,可能需要根據(jù)二維數(shù)組里的某個(gè)字段對(duì)數(shù)組分組.
PHP教程先來(lái)看以下數(shù)組,
PHP教程
Array
(
[0] => Array
(
[id] => 1
[wo_id] => 2
[evaluate_id] => 1
[type] => 分組1
[ctime] => 2016-12-02 11:39:34
)
[1] => Array
(
[id] => 2
[wo_id] => 31
[evaluate_id] => 2
[type] => 分組1
[ctime] => 2016-12-12 11:39:50
)
[2] => Array
(
[id] => 3
[wo_id] => 31
[evaluate_id] => 4
[type] => 分組2
[ctime] => 2016-12-02 11:40:01
)
[3] => Array
(
[id] => 4
[wo_id] => 2
[evaluate_id] => 5
[type] => 分組2
[ctime] => 2016-12-07 10:21:40
)
[4] => Array
(
[id] => 5
[wo_id] => 2
[evaluate_id] => 3
[type] => 分組2
[ctime] => 2016-12-07 10:21:51
)
[5] => Array
(
[id] => 6
[wo_id] => 2
[evaluate_id] => 2
[type] => 分組3
[ctime] => 2016-12-07 10:21:56
)
[6] => Array
(
[id] => 7
[wo_id] => 4
[evaluate_id] => 2
[type] => 分組3
[ctime] => 2016-12-07 10:22:10
)
)
PHP教程這里是一個(gè)很典型的例子,如果我希望把 數(shù)組中的數(shù)據(jù) 根據(jù) type(分組) 分開(kāi)處理,如果不分組,可能循環(huán)上會(huì)非常冗余,所以有了下面的一個(gè)分組函數(shù):
PHP教程
public static function array_group_by($arr, $key)
{
$grouped = [];
foreach ($arr as $value) {
$grouped[$value[$key]][] = $value;
}
// Recursively build a nested grouping if more parameters are supplied
// Each grouped array value is grouped according to the next sequential key
if (func_num_args() > 2) {
$args = func_get_args();
foreach ($grouped as $key => $value) {
$parms = array_merge([$value], array_slice($args, 2, func_num_args()));
$grouped[$key] = call_user_func_array('array_group_by', $parms);
}
}
return $grouped;
}
PHP教程$arr : 二維數(shù)組
PHP教程$key: 需要分組的key
PHP教程得到的結(jié)果是:
PHP教程
Array
(
[分組2] => Array
(
[0] => Array
(
[id] => 1
[wo_id] => 2
[evaluate_id] => 1
[ctime] => 2016-12-02 11:39:34
[type] => 分組2
)
[1] => Array
(
[id] => 2
[wo_id] => 31
[evaluate_id] => 2
[ctime] => 2016-12-12 11:39:50
[type] => 分組2
)
[2] => Array
(
[id] => 3
[wo_id] => 31
[evaluate_id] => 4
[ctime] => 2016-12-02 11:40:01
[type] => 分組2
)
)
[分組1] => Array
(
[0] => Array
(
[id] => 4
[wo_id] => 2
[evaluate_id] => 5
[ctime] => 2016-12-07 10:21:40
[type] => 分組1
)
[1] => Array
(
[id] => 5
[wo_id] => 2
[evaluate_id] => 3
[ctime] => 2016-12-07 10:21:51
[type] => 分組1
)
)
)
PHP教程以上所述是小編給大家介紹的PHP 根據(jù)key 給二維數(shù)組分組,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的.在此也非常感謝大家對(duì)維易PHP網(wǎng)站的支持!
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/2449.html