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

yipeiwu_com5年前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相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

DedeCMS dede_channeltype表字段注释

这是我花了一些时间整理出来的,但是还是有几个字段不清楚,希望知道的朋友们,告诉我! Dede_channeltype id 频道ID nid 识别ID typename 模型名字 mai...

PHP文件操作实现代码分享

PHP文件操作实现代码分享

将数据写或读入文件,基本上分为三个步骤: 1. 打开一个文件(如果存在) 2. 写/读文件 3. 关闭这个文件 l打开文件 在打开文件文件之前,我们需要知道这个文件的路径,以及此文件是否...

php基于ob_start(ob_gzhandler)实现网页压缩功能的方法

php基于ob_start(ob_gzhandler)实现网页压缩功能的方法

本文实例讲述了php基于ob_start('ob_gzhandler')实现网页压缩功能的方法。分享给大家供大家参考,具体如下: PHP生成网页后传送给浏览器显示 ,页面的打开速度除了与...

php-accelerator网站加速PHP缓冲的方法

http://php-accelerator.co.uk/ 可以下载,是zend的强劲对手。是免费的。我已经在用啦。效果还不错。 修改 PHP.ini 加上...

php array_chunk()函数用法与注意事项

本文实例讲述了php array_chunk()函数用法与注意事项。分享给大家供大家参考,具体如下: 定义和用法 array_chunk() 函数把数组分割为新的数组块。 其中每个数组的...