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_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(); //这里把简直转成了数字的,方便同意处理 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)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/af47f7977fa1d29704ad93f1a7be2a43.html