Php 将数组插入多维数组
我有一个如下所示的数组:Php 将数组插入多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个如下所示的数组: {"calendar":{"date":"1","event":"1","description":"","code":"lab"}} 我想在这个数组中输入一个新数组,但要在日历中实现这个输出: {"calendar": {"date":"1","event":"1","description":"","code":"lab"} {"date":"2","event":"2","description":"","code":"lab"} } 这一切都
{"calendar":{"date":"1","event":"1","description":"","code":"lab"}}
我想在这个数组中输入一个新数组,但要在日历中实现这个输出:
{"calendar":
{"date":"1","event":"1","description":"","code":"lab"}
{"date":"2","event":"2","description":"","code":"lab"}
}
这一切都发生在一个表格上
<?php
$dy_date = $_GET['dy_date'];
$dy_event = $_GET['dy_event'];
$dy_description = $_GET['dy_description'];
$dy_code = $_GET['dy_code'];
$calendar = array("calendar" => array("date" => $dy_date, "event" => $dy_event, "description" => $dy_description, "code"=> $dy_code));
$calendar_check = json_decode(file_get_contents('../calendar_dynamic.js'),true);
$updated_cal = array();
foreach($calendar_check as $data){
$updated_cal["date"] = $dy_date;
$updated_cal["event"] = $dy_event;
$updated_cal["description"] = $dy_description;
$updated_cal["code"] = $dy_code;
$updated_cal = array_merge($calendar_check['calendar'], $updated_cal);
$filename = "../calendar_dynamic.js";
file_put_contents($filename, json_encode($updated_cal), FILE_APPEND);
}
?>
我似乎无法将添加的阵列合并到现有阵列中的正确位置
想法?试试这个
$filename = "../uc3_stats/calendar_dynamic.js";
$dy_date = $_GET['dy_date'];
$dy_event = $_GET['dy_event'];
$dy_description = $_GET['dy_description'];
$dy_code = $_GET['dy_code'];
$newentry_calendar = array("calendar" => array("date" => $dy_date, "event" => $dy_event, "description" => $dy_description, "code"=> $dy_code));
$old_calendar = json_decode(file_get_contents($filename),true);
$new_calendar = $old_calendar; //keep old entries
$new_calendar['calendar'][] = $newentry_calendar['calendar']; //add new entry
file_put_contents($filename, json_encode($new_calendar)); // save to file
如果愿意,您可以缩短它,但它尽可能接近您的代码;) 我会使用array\u push函数而不是array\u merge,因为在您的例子中,array\u merge会将返回数组的结构更改为内部数组与新数组的组合
array_push ($calendar_check['calendar'], $updated_cal)