Я сделал небольшое приложение, используя jQuery datepicker
. Я устанавливаю для него недоступные даты из json файла, который выглядит следующим образом:
{"dates":["2013-12-11","2013-12-10","2013-12-07","2013-12-04"]}.
Я хотел бы проверить, указана ли дата в этом списке и удалить ее, если это так. Мой текущий код выглядит следующим образом:
if(isset($_GET['date'])) //the date given
{
if($_GET['roomType']==2)
{
$myFile = "bookedDates2.json";
$date = $_GET['date'];
if(file_exists($myFile))
{
$arr = json_decode(file_get_contents($myFile),true);
if (!in_array($date, $arr['dates']))
{
$arr['dates'][] = $_GET['date']; //adds the date into the file if it is not there already
}
else
{
foreach ($arr['dates'] as $key => $value)
{
if (in_array($date, $arr['dates']))
{
unset($arr['dates'][$key]);
array_values($arr['dates']);
}
}
}
}
$arr = json_encode($arr);
file_put_contents($myFile,$arr);
}
Моя проблема в том, что после того, как я снова закодирую массив, это выглядит как
{"dates":["1":"2013-12-11","2":"2013-12-10","3":"2013-12-07","4":"2013-12-04"]}
Есть ли способ найти совпадение даты в json файле и удалить его, без кнопок, появляющихся после кодирования?
Любая помощь приветствуется.