2017-07-13 45 views
5

我在PHP 多維陣列,其看起來像這樣:環路和插入PHP多維數組到MySQL

Array 
    (
    [0] => Array 
    (
     [day] => 0 
     [periods] => Array 
      (
       [0] => Array 
        (
         [0] => 01:00 
         [1] => 01:30 
        ) 

       [1] => Array 
        (
         [0] => 02:30 
         [1] => 03:00 
        ) 

      ) 

    ) 

[1] => Array 
    (
     [day] => 1 
     [periods] => Array 
      (
       [0] => Array 
        (
         [0] => 01:30 
         [1] => 02:00 
        ) 

      ) 

    ) 

的「日」鍵reffer到一天,所以天[0] = 「星期一」 「時間段」鍵反映用戶在同一天選擇的時間。

在當天

所以[0]有一個「時間段」陣列reffer於存儲小時anthor陣列,啓動01:00,01:30結束開始02:30,結束03:00

我嘗試foreach循環這個數組,但我找不到方法。 我要進入每一個小時這個值到mysql,像這樣:

$sql = "INSERT INTO task_list (
      task, day, hour 
      ) VALUES (?, ?, ?) 
    "; 

例如:天:0 1:00開始,一天:0結束1:30

有什麼建議?

回答

0

這裏是您的解決方案....

$array = array(
     array(
      'day' => 0, 
      'periods' => array(
       array('01:00','01:30'), 
       array('02:00','03:00'), 
      ) 
     ), 
     array(
      'day' => 1, 
      'periods' => array(
       array('01:00','02:00') 
      ) 
     ) 
    ); 

    //echo "<pre>";print_r($array); 

    $values = '"INSERT INTO task_list (task, day, hour) VALUES'; 
    foreach($array as $row){ 
     foreach($row['periods'] as $row1){ 
       $values .= '("start","'.$row['day'].'","'.$row1[0].'"),("end","'.$row['day'].'","'.$row1[1].'"),'; 
     } 
    } 
    $values .= ';"'; 
    $values = str_replace(',;',';',$values); 
    echo $values; 
+1

感謝@GyandeepSharma。 這似乎工作。 – pavel250

+0

隨時........ – GYaN

+0

有沒有辦法在我從mysql檢索數據後恢復具有相同構造的數組? – pavel250