Как было бы возможно передать переменную в строку даты? У меня есть следующие переменные:
$start_date = date('2014-01-01');
$end_date = date('2014-12-31');
Но теперь я добавляю его в цикл, где год (2014) будет меняться каждый раз, и мне назначают этот новый год как:
$dateArr[0];
Но когда я пытаюсь сделать это, это не работает:
$start_date = date('$dateArr[0]-01-01');
$end_date = date('$dateArr[0]-12-31');
Как я мог работать этот синтаксис для передачи переменной в строку даты?
Переменные не интерполируются в одинарных кавычках. Вместо этого используйте двойные кавычки:
$start_date = date("$dateArr[0]-01-01");
$end_date = date("$dateArr[0]-12-31");
К вашему сведению, это более прямо, используя DateTime()
:
$start_date = new DateTime("2014-01-01");
$end_date = new DateTime("2014-12-31");
Затем, когда пришло время перейти к следующему году, просто используйте modify()
метод добавить один год:
$start_date->modify('+1 year');
$end_date->modify('+1 year');
Других решений пока нет …