遇到了一个问题,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);

结果

文章来源:刘俊涛的博客

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值