php教程

超轻量级php框架startmvc

PHP实现根据数组的值进行分组的方法

更新时间:2020-03-19 01:11:35 作者:startmvc
本文实例讲述了PHP实现根据数组的值进行分组的方法。分享给大家供大家参考,具体如下:

本文实例讲述了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 数组的值 分组