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

文章来源:刘俊涛的博客
欢迎关注,有问题一起学习欢迎留言、评论。
遇到了一个问题,php数组的的更多相关文章
- ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)
1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 154 Solved: 112[ ...
- [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 ...
- new一个二维数组
.定义一个二维数组 char **array1 array1 = new char *[x]; for(i=0;i<x;++i) array1[i] = new char[y]; ...用的时候 ...
- 写入数据到Plist文件中时,第一次要创建一个空的数组,否则写入文件失败
#pragma mark - 保存数据到本地Plist文件中 - (void)saveValidateCountWithDate:(NSString *)date count:(NSString *) ...
- [原]Java面试题-输入一个整型数组,找出最大值、最小值,并交换。
[Date]2013-09-19 [Author]wintys (wintys@gmail.com) http://wintys.cnblogs.com [Content]: 1.面试题 输入一个整型 ...
- c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
//题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. // #include "stdio.h" #include <stdli ...
- 如何判断一个变量是数组Array类型
在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...
- php中向前台js中传送一个二维数组
在php中向前台js中传送一个二维数组,并在前台js接收获取其中值的全过程方法: (1),方法说明:现在后台将数组发送到前台 echo json_encode($result); 然后再在js页面中的 ...
- JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数
JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数 示例如下 至少需要九个元素:"A","B","C",&q ...
- Jsの练习-将 数组中值为0 的去掉,不为0的存入一个新的数组
要求:将 数组中值为0 的去掉,不为0的存入一个新的数组 代码如下: <!DOCTYPE html> <html lang="en"> <head&g ...
随机推荐
- loj2480 [CEOI2017]One-Way Streets 边双+树上差分
边双无法确定 缩完边双就是一棵树 树上差分随意弄一下吧... #include <vector> #include <cstdio> #include <cstring& ...
- HDU 6118 度度熊的交易计划(费用流)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6118 [题目大意] 给出一张无向边权图,每个点最多可以生产b[i]商品,每件代价为a[i], 每个 ...
- Map按照数值进行排序
public static Map<String, Integer> sortMapByValue(Map<String, Integer> oriMap) { if (ori ...
- bzoj 1779
较水的网络流. /************************************************************** Problem: 1779 User: idy002 L ...
- 62.COUNT(递归算法)--数的划分变式题型
文件名:count.cpp 输入输出文件:count.in.count.out 时空:64M,2s 我们已经知道这样一个定理:任意一个正整数能够分解成最多4个数字的平方和.现在给你一些数字,要你求出它 ...
- python开发_python中的Boolean运算和真假值
python中的真假值: Truth Value Testing Any object can be tested for truth value, for use in an if or while ...
- 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 ...
- leetcode weekly contest 43
leetcode weekly contest 43 leetcode649. Dota2 Senate leetcode649.Dota2 Senate 思路: 模拟规则round by round ...
- Swift 笔记1
// Playground - noun: a place where people can play import Cocoa var str = "Hello, playground&q ...
- C#获取picturebox图片路径
path = ofd.FileName; filename = ofd.SafeFileName; lu="E:\\鹿瑶\\Csharp\\DB学生报名系统\\baomingDemo\\bi ...