数组结构和重新格式化

时间:2014-02-12 15:10:10

标签: php sql arrays

这几乎是两个问题之一。首先,我有一个从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']

  1. 我真正需要的是删除一个图层,其结构如下: 周一$ [ '名']。实现这一目标的最佳方法是什么?

  2. 此外,我已经按照我的知识逐步进行了这一点 数组函数非常不完整。必须有一个更简单的方法 完成上述所有操作并稍微减少代码,任何人都可以 能够指出我正确的方向吗?

  3. 非常感谢提前!

1 个答案:

答案 0 :(得分:0)

我从你的逻辑中假设你每天只能获得1行?

如果是这样,只需更改

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

$days[$row['day']] = $row;
在你的while()中

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