伙计这是我的数组,我想从名为time_array[]
的数组中访问变量
{"type":"updatebusiness","provider_id":"1","business_name":"uur","email_work":"ndnnf@hmdmck.fkfm","phone_work":"8989889889","vat_no":"39r","address1":"gehjfmjhjfk","address2":"gehjfmjhjfk","postcode":"367383","latitude":"updatebusiness","longitude":"updatebusiness","time_array":[{"day":"Monday","start_time":"10 : 00 AM","end_time":"01 : 00 PM"},{"day":"Friday","start_time":"01 : 00 PM","end_time":"01 : 00 PM"}]}
这是我的PHP代码
$requestBody = file_get_contents('php://input');
$requestBody = json_decode($requestBody, TRUE);
$time_array=$requestBody['time_array'];
$json_array = json_decode($time_array,True);
for ($i = 0; $i < sizeof($json_array); $i++)
{
$day = $json_array[$i]->day;
$start_time = $json_array[$i]->start_time;
$end_time = $json_array[$i]->end_time;
$insert_time="INSERT INTO `nesbaty_working_time` (`provider_id`,
`day`,
`opening_time`,
`closing_time`,
`time`,
`status`)
VALUES ('".$provider_id."',
'".$day."',
'".$start_time."',
'".$end_time."',
'".$date."',
'".$status."')";
mysqli_query($con, $insert_time);
所以我很困惑如何访问数组中的数组
答案 0 :(得分:1)
您无需再次解码$ time_array变量。一旦你做到了:
$requestBody = json_decode($requestBody, TRUE);
您可以像这样访问time_array:
$time_array = $requestBody['time_array'];
而且你可以像这样循环:
foreach($time_array AS $time){
$day = $time['day'];
$start_time = $time['start_time'];
$end_time = $time['end_time'];
//Your insert query here
}
答案 1 :(得分:0)
我第一次编码数据,所以整个数组在php字符串中转换,内部的第二个数组也转换为字符串,但现在我再次对其进行编码然后再次解码并且它有效..
$time_array=$requestBody['time_array'];
$abc=json_encode($time_array);
$json_array = json_decode($abc);
for ($i = 0; $i < sizeof($json_array); $i++)
{
$day = $json_array[$i]->day;
$start_time = $json_array[$i]->start_time;
$end_time = $json_array[$i]->end_time;
$insert_time="INSERT INTO `nesbaty_working_time` (`provider_id`,
`day`,
`opening_time`,
`closing_time`,
`time`,
`status`)
VALUES ('".$provider_id."',
'".$day."',
'".$start_time."',
'".$end_time."',
'".$date."',
'".$status."')";
mysqli_query($con, $insert_time);
}