Подвести итоги проекта;Я создаю веб-страницу, где вы можете ввести время будильника и действия, которые нужно выполнить, когда время будет достигнуто.Есть сценарий моего сайта и сценарий Python.Сценарий python проверяет соответствие конфигурационного файла условиям времени, а затем выполняет необходимые действия.
После сбора всей необходимой информации у меня возникают проблемы при помещении ее в файл json.Файл конфигурации json перезаписывается каждый раз, когда пользователь вводит или изменяет значение и отправляет его.(Для сохранения предыдущего времени будильника они помещаются в значение ввода формы). Время будильника может меняться каждый день, а затем повторяться еженедельно.Чтобы указать, я делаю много переменных со всеми различными значениями для каждого введенного времени.Для понедельника у меня будет
$intMoH
$intMoM
$intMoAction
$intMoSource
, это повторяется для всех дней недели.
Затем я хочу поместить их все в массив, чтобы они могли быть закодированы и преобразованы в jsonformat.
Предполагается, что формат json напоминает что-то вроде этого.
[{
"wake": [{
"id": 1,
"MoM": 8,
"MoH": 30,
"MoAction": "music",
"MoSource": "music.mp3",
"TuM": 7,
"TuH": 30,
"TuAction":"music",
"TuSource":"music2.mp3"
}]
}]
Я не создаю новый элемент с именем Mo, а затем помещаю все элементы в качестве его потомка, потому что я былсказал, что это облегчит помещение его в массив (меньше измерений).
Моя страница php создает форму и затем отправляет ее себе (без использования ajax, просто потому, что я ее не знаю).
$arrWeek = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saterday","Sunday");
$arrWeekSimple = array("Mo","Tu","We","Tu","Th","Fr","Sa","Su");
//$mowakeh = $_POST['mowakeh'];
$strName = "wake";
for( $i = 0; $i<6; $i++ )
{
$tempPost = "frm". $arrWeekSimple[$i] ."H";
${"int" . $arrWeekSimple[$i] ."H"} = $_POST[$tempPost];
$tempPost = "frm". $arrWeekSimple[$i] ."H";
${"int" . $arrWeekSimple[$i] ."M"} = $_POST[$tempPost];
$tempPost = "frm". $arrWeekSimple[$i] ."H";
${"str" . $arrWeekSimple[$i] ."Action"} = $_POST[$tempPost];
$tempPost = "frm". $arrWeekSimple[$i] ."H";
${"str" . $arrWeekSimple[$i] ."Source"} = $_POST[$tempPost];
/*
What values after taken from form would look like
$intMoH = 20;
$intMoM = 30;
$strMoAction = 5;
$strMoSource = 7;
*/
$arrNewJson=array();
$arrPush = array($strName=array(id=>1, $arrWeekSimple[$i]."H"=>${"int".$arrWeekSimple[$i]."H"}, $arrWeekSimple[$i]."M"=>${"int".$arrWeekSimple[$i]."M"}, $arrWeekSimple[$i]."Action"=>${"str".$arrWeekSimple[$i]."Action"},$arrWeekSimple[$i]."Source"=>${"str".$arrWeekSimple[$i]."Source"})
array_push($arrNewJson,$arrPush);
}
echo "Array made <br>";
print_r($arrNewJson);
$toTransfer = json_encode($arrNewJson, true);
file_put_contents("config.json",$toTransfer);
С чем я борюсь, так это для того, чтобы взять всю информацию, помещая ее в многомерный массив, чтобы затем иметь возможность кодировать ее в формат json и заменить файл.Как пройти каждый день и добавить это в массив?После исследования кажется, что из-за цикла я должен использовать array_push, но просто не могу понять, как его использовать.Интересно также, будет ли в файле json проще перейти в другое измерение и добавить дни недели?
Любая помощь приветствуется.Я надеюсь, что все это понятно :-) Спасибо за ваше время.