循环并将PHP多维数组插入mysql
我在php中有一个多维数组 看起来像这样:循环并将PHP多维数组插入mysql,php,mysql,sql,arrays,task,Php,Mysql,Sql,Arrays,Task,我在php中有一个多维数组 看起来像这样: Array ( [0] => Array ( [day] => 0 [periods] => Array ( [0] => Array ( [0] => 01:00 [1] =
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”键引用日期so day[0]=“星期一”
“periods”键表示用户在同一天选择的小时数
因此,在天[0]中有一个“periods”数组,它引用存储小时的antor数组,start 01:00,end 01:30 start 02:30,end 03:00
我试图foreach循环这个数组,但找不到方法。
我想为mysql输入每小时的值,如下所示:
$sql = "INSERT INTO task_list (
task, day, hour
) VALUES (?, ?, ?)
";
例:日期:0开始1:00,日期:0结束1:30
有什么建议吗?这是您的解决方案
$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;
$array=array(
排列(
“日”=>0,
'周期'=>数组(
数组('01:00','01:30'),
数组('02:00','03:00'),
)
),
排列(
“天”=>1,
'周期'=>数组(
数组('01:00','02:00')
)
)
);
//回声“;打印(数组);
$values='“插入任务列表(任务、日期、小时)值”;
foreach($array作为$row){
foreach($row['periods']作为$row1){
$values.='(“开始”、“.$row['day']..”、“.$row1[0]..”、(“结束”、“.$row['day'.]”、“.$row1[1].”);
}
}
$values.=';“;
$values=str_replace(“,;”,“;”,$values);
回声$值;
在我从mysql检索数据后,有没有办法用相同的结构恢复数组?嗨,Gyandeep,我正在尝试将SQL查询的结果转换为数组格式,但我仍然没有找到方法。我做了一个foreach,我得到的最好的结果就是在同一天将数组分开,当然我会添加这个if($result){$k=0;foreach($result as$i=>$row){$data[$i][“day”][“day”]=$row[“day”];$data[$i][“periods”[$k]=array();array\u push($data[$i][“periods”[$k],$row[“start\u hour”],$row[“stop\u hour”];$k++}$row\u set=$data;返回$row\u set;}