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

需求是这样的

 

<?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);

结果

文章来源:刘俊涛的博客

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

遇到了一个问题,php数组的的更多相关文章

  1. ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)

    1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 154  Solved: 112[ ...

  2. [CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组

    13.10 Write a function in C called my2DAlloc which allocates a two-dimensional array. Minimize the n ...

  3. new一个二维数组

    .定义一个二维数组 char **array1 array1 = new char *[x]; for(i=0;i<x;++i) array1[i] = new char[y]; ...用的时候 ...

  4. 写入数据到Plist文件中时,第一次要创建一个空的数组,否则写入文件失败

    #pragma mark - 保存数据到本地Plist文件中 - (void)saveValidateCountWithDate:(NSString *)date count:(NSString *) ...

  5. [原]Java面试题-输入一个整型数组,找出最大值、最小值,并交换。

    [Date]2013-09-19 [Author]wintys (wintys@gmail.com) http://wintys.cnblogs.com [Content]: 1.面试题 输入一个整型 ...

  6. c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点

    //题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. // #include "stdio.h" #include <stdli ...

  7. 如何判断一个变量是数组Array类型

    在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...

  8. php中向前台js中传送一个二维数组

    在php中向前台js中传送一个二维数组,并在前台js接收获取其中值的全过程方法: (1),方法说明:现在后台将数组发送到前台 echo json_encode($result); 然后再在js页面中的 ...

  9. JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数

    JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数 示例如下 至少需要九个元素:"A","B","C",&q ...

  10. Jsの练习-将 数组中值为0 的去掉,不为0的存入一个新的数组

    要求:将 数组中值为0 的去掉,不为0的存入一个新的数组 代码如下: <!DOCTYPE html> <html lang="en"> <head&g ...

随机推荐

  1. loj2480 [CEOI2017]One-Way Streets 边双+树上差分

    边双无法确定 缩完边双就是一棵树 树上差分随意弄一下吧... #include <vector> #include <cstdio> #include <cstring& ...

  2. HDU 6118 度度熊的交易计划(费用流)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6118 [题目大意] 给出一张无向边权图,每个点最多可以生产b[i]商品,每件代价为a[i], 每个 ...

  3. Map按照数值进行排序

    public static Map<String, Integer> sortMapByValue(Map<String, Integer> oriMap) { if (ori ...

  4. bzoj 1779

    较水的网络流. /************************************************************** Problem: 1779 User: idy002 L ...

  5. 62.COUNT(递归算法)--数的划分变式题型

    文件名:count.cpp 输入输出文件:count.in.count.out 时空:64M,2s 我们已经知道这样一个定理:任意一个正整数能够分解成最多4个数字的平方和.现在给你一些数字,要你求出它 ...

  6. python开发_python中的Boolean运算和真假值

    python中的真假值: Truth Value Testing Any object can be tested for truth value, for use in an if or while ...

  7. HDU 5640 King's Cake GCD

    King's Cake 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5640 Description It is the king's birthd ...

  8. leetcode weekly contest 43

    leetcode weekly contest 43 leetcode649. Dota2 Senate leetcode649.Dota2 Senate 思路: 模拟规则round by round ...

  9. Swift 笔记1

    // Playground - noun: a place where people can play import Cocoa var str = "Hello, playground&q ...

  10. C#获取picturebox图片路径

    path = ofd.FileName; filename = ofd.SafeFileName; lu="E:\\鹿瑶\\Csharp\\DB学生报名系统\\baomingDemo\\bi ...