zoukankan      html  css  js  c++  java
  • 遇到了一个问题,php数组的

    这两天整一个数据,捯饬了好久。。。

    需求是这样的

     

    <?php

    $a = array ();

    $a[] = ['week'=>'1','day'=>'1'];

    $a[] = ['week'=>'1','day'=>'2'];

    $a[] = ['week'=>'1','day'=>'4'];

    $a[] = ['week'=>'2','day'=>'1'];

    $a[] = ['week'=>'2','day'=>'3'];

    $a[] = ['week'=>'2','day'=>'5'];

    // var_dump($a);

    //期望输出

    //$b =['1'=>'1,2,4'],['2'=>'1,3,5']

     

    想了好多php自带的数组函数,都没有成功,后来去找大神了。

    思路1:

    因为数据是从数据库直接查出来的

    想要的结果样式其实是可以通过SQL实现:

    SELECT week,GROUP_CONCAT(`day`) as day

    FROM `user_progress`

    where openid ='oC_c95aBUFxnsulu6AWiS9iivtkw' && level=1

    GROUP BY `week`;

    结果:

    这个MYSQL函数可以学习一下:GROUP_CONCAT

    思路2:通过php处理实现

     

    $a = array ();

    $b = array ();

    $a[] = ['week'=>'1','day'=>'1'];

    $a[] = ['week'=>'1','day'=>'2'];

    $a[] = ['week'=>'1','day'=>'4'];

    $a[] = ['week'=>'2','day'=>'1'];

    $a[] = ['week'=>'2','day'=>'3'];

    $a[] = ['week'=>'2','day'=>'5'];

    // var_dump($a);

     

    foreach($a as $value){

    $b[$value['week']][] = $value['day'];

    }

    var_dump($b);

    结果

    文章来源:刘俊涛的博客

    欢迎关注,有问题一起学习欢迎留言、评论。

  • 相关阅读:
    MATLAB01
    Diffie-Hellman 密钥交换
    古典密码
    正则表达式
    装饰器初析
    进制转换的栈实现
    Log4j(异常日志)
    2018/6/6
    2018.1.1T19B3-u4
    2018.1.1T19-B3-U3jiangyi
  • 原文地址:https://www.cnblogs.com/lovebing/p/9831938.html
Copyright © 2011-2022 走看看