Зацикливание и вставка многомерного массива PHP в mysql
У меня есть многомерный массив в PHP, который выглядит следующим образом:
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
)
)
)
Клавиша "день" относится к дню, поэтому day[0] = "понедельник", а клавиша "периоды" - к часу, выбранному пользователем в тот же день.
Таким образом, в день [0] есть массив 'period', который ссылается на массив anthor, который хранит час, начало 01:00, конец 01:30, начало 02:30, конец 03:00
Я пытаюсь зациклить этот массив, но не могу найти способ. Я хочу ввести это значение для каждого часа в mysql следующим образом:
$sql = "INSERT INTO task_list (
task, day, hour
) VALUES (?, ?, ?)
";
например: день: 0 начало 1:00, день: 0 конец 1:30
какие-либо предложения?
1 ответ
Решение
Вот ваше решение....
$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;