2014-02-12 96 views
0

這幾乎是兩個問題之一。首先,我有一個從SQL表中填充的數組,該數據表是一系列事件然後輸出到日曆上的。陣列結構和重新格式化

在數據庫中有一個名爲「日」列,這將是

下面是代碼,我已經習慣了的尺寸增加了(「星期一」,「星期二」等)的一週中的一天基於'日'的數組。

$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; 
} 

這個新的數組現在的結構如下:$天[「星期一」] [0] [「名」] 我已經再拆這個多維數組分成多個獨立的數組。

$monday = $days['Monday']; $tuesday = $days['Tuesday']; $wednesday = $days['Wednesday']; $thursday = $days['Thursday']; $friday = $days['Friday']; $saturday = $days['Saturday']; $sunday = $days['Sunday']; 

該陣列現在結構如下:$星期一[0] [「名」]

  1. 我真正需要的是消除層和具有結構爲: $星期一['名稱']。什麼是實現這一目標的最佳方式?

  2. 此外,我已經到了這一步,因爲我的知識 陣列功能是非常斑駁的一步一步一步。必須有一個更簡單的方法來做到上述所有,並將代碼細化一下,任何人都可以將 指向正確的方向?

非常感謝提前!

回答

0

我從你的邏輯推斷,你每天只能得到1行?

如果是這樣,只是改變

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

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

在一段時間()。

這實際上意味着您在第一行中所做的大部分工作都是多餘的,您可以將其更改爲$days = array();