Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 阵列结构和重新格式化_Php_Sql_Arrays - Fatal编程技术网

Php 阵列结构和重新格式化

Php 阵列结构和重新格式化,php,sql,arrays,Php,Sql,Arrays,这几乎是两个问题合一。首先,我有一个数组,它是从SQL表填充的,用于一系列事件,然后输出到日历上 在数据库中有一个名为“day”的列,它将是一周中的“周一”、“周二”等 下面是我用来根据“天”向数组添加维度的代码 $days = array('Monday' => array(), 'Tuesday' => array(), 'Tuesday' => array(), 'Wednesday' => array(), 'Thursday' => array(), 'F

这几乎是两个问题合一。首先,我有一个数组,它是从SQL表填充的,用于一系列事件,然后输出到日历上

在数据库中有一个名为“day”的列,它将是一周中的“周一”、“周二”等

下面是我用来根据“天”向数组添加维度的代码

$days = array('Monday' => array(), 'Tuesday' => array(), 'Tuesday' => array(), 'Wednesday' => array(), 'Thursday' => array(), 'Friday' => array(), 'Saturday' => array(), 'Sunday' => array());

while ($row = mysqli_fetch_assoc($result)) {
    $days[$row['day']][] = $row;
}
这个新数组现在的结构如下:$days['Monday'][0]['name'] 然后,我将这个多维数组拆分为多个单独的数组

$monday = $days['Monday']; $tuesday = $days['Tuesday']; $wednesday = $days['Wednesday']; $thursday = $days['Thursday']; $friday = $days['Friday']; $saturday = $days['Saturday']; $sunday = $days['Sunday'];
数组现在的结构如下:$monday[0]['name']

我真正需要的是删除一个层,并将结构设置为: $monday['name']。实现这一目标的最佳方式是什么

同时,我也以我的知识一步一步地走到了这一点 数组函数的类型非常零散。一定有更简单的方法来解决这个问题 做了以上所有的工作,把代码精简一点,有人会这样做吗 能给我指出正确的方向吗


非常感谢

根据你的逻辑,我假设你每天只能得到一行

如果是这样的话,就换一个吧

$days[$row['day']][] = $row;
进入

在你的时候

这实际上意味着您在第一行中所做的大部分工作都是多余的,您可以将其更改为$days=array

$days[$row['day']] = $row;