zoukankan      html  css  js  c++  java
  • 【十四】

    需求:以objid以日期为间隔,使用json格式打印出来

     =》(变成)

    方法一:

     1 <?php
     2         $arr = array(
     3             0=>array("dataname"=>"2017-08-08","objID"=>"11"),
     4             1=>array("dataname"=>"2017-08-08","objID"=>"12"),
     5             2=>array("dataname"=>"2017-08-08","objID"=>"13"),
     6             3=>array("dataname"=>"2017-08-09","objID"=>"14"),
     7             4=>array("dataname"=>"2017-08-09","objID"=>"15"),
     8             5=>array("dataname"=>"2017-08-09","objID"=>"16"),
     9             6=>array("dataname"=>"2017-08-10","objID"=>"17"),
    10             7=>array("dataname"=>"2017-08-10","objID"=>"18"),
    11             8=>array("dataname"=>"2017-08-10","objID"=>"19"),
    12             9=>array("dataname"=>"2017-08-11","objID"=>"20"),
    13             10=>array("dataname"=>"2017-08-11","objID"=>"21"),
    14             11=>array("dataname"=>"2017-08-11","objID"=>"22")
    15         );
    16         //思路
    17         //1.新建一个空数组
    18         //2.便利老数组
    19         //3.判断老数组的dataname值在新数组是否存在
    20         //如果不存在则在新数组新建dataname及objid值。
    21         //如果存在则去判断对应的objid值在新数组,记录最后一次出现的位置,如果为false,则往对应的dataname下添加objid值
    22         $arr1=[];
    23         foreach ($arr as $k => $v) {
    24             if (array_key_exists($v["dataname"],$arr1)) {
    25                 //strpos:查找“$v['objID']”在“$arr1[$v['dataname']]['objID']”中最后一次出现的位置
    26                 $res=strpos($arr1[$v['dataname']]['objID'],$v['objID']);
    27                 if ($res===false) {
    28                     $arr1[$v['dataname']]['objID'].=",".$v['objID'];
    29                 }
    30             }else{
    31                 $arr1[$v['dataname']]['objID']=$arr[$k]['objID'];
    32             }
    33         }
    34         var_dump($arr1);
    35 ?>

    结果:

    方法二:

     1 <?php
     2 $arr = array(
     3     0=>array("dataname"=>"2017-08-08","objID"=>"11"),
     4     1=>array("dataname"=>"2017-08-08","objID"=>"12"),
     5     2=>array("dataname"=>"2017-08-08","objID"=>"13"),
     6     3=>array("dataname"=>"2017-08-09","objID"=>"14"),
     7     4=>array("dataname"=>"2017-08-09","objID"=>"15"),
     8     5=>array("dataname"=>"2017-08-09","objID"=>"16"),
     9     6=>array("dataname"=>"2017-08-10","objID"=>"17"),
    10     7=>array("dataname"=>"2017-08-10","objID"=>"18"),
    11     8=>array("dataname"=>"2017-08-10","objID"=>"19"),
    12     9=>array("dataname"=>"2017-08-11","objID"=>"20"),
    13     10=>array("dataname"=>"2017-08-11","objID"=>"21"),
    14     11=>array("dataname"=>"2017-08-11","objID"=>"22")
    15 );
    16     // 思路:
    17     // 1.先新建2个空数组
    18     // 2.先判断老数组的$i是否等于1
    19     // 等于1,在数组1添加该objid值。且数组2[‘dataname’]等于数组1
    20     // 不等于1,则判断老数组的$i-1行的dataname值是否与$i值相等
    21     // 如果相等,则在对应的dataname下添加对应的objid值
    22     // 如果不相等,则代表在该dataname下,无objid(新建objid值)
    23     $temp=array();
    24     for ($i=0; $i <count($arr) ; $i++) { 
    25         $dataname=$arr[$i]['dataname'];
    26         $objID=$arr[$i]['objID'];
    27         if ($i==0) 
    28         {
    29             $temp['objID']=$objID;        
    30         }else
    31         {
    32             $lastDataname=$arr[$i-1]['dataname'];
    33             if ($dataname==$lastDataname) 
    34             {
    35                 $temp['objID']=$temp['objID'].",".$objID;
    36             }else{
    37                 $temp['objID']=$objID;
    38             }
    39         }
    40         $arr2[$dataname]=$temp;
    41     }
    42     var_dump($arr2);
    43 ?>

    结果:

  • 相关阅读:
    docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面
    maven构建的项目相关的命令
    gradle build文件中文乱码解决
    adobe acrobat看PDF文档显示字体发虚,有毛刺的解决办法
    Jenkins 用Tomcat部署War出现 反向代理设置有误
    变量 $cfg['TempDir'] (./tmp/)无法访问。phpMyAdmin无法缓存模板文件,所以会运行缓慢。
    phpMyAdmin配置文件中的密文(blowfish_secret)太短
    phpmyadmin报错:mysqli_real_connect(): (HY000/2002): No such file or directory 错误正确解决方法
    Gradle编译设置编码格式
    redis中的hash
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/7831058.html
Copyright © 2011-2022 走看看