У меня есть три переменные:
1.) $ год (например, "2018"),
2.) $ месяц (например, "9" или "12"),
3.) $ день (например, «5» или «21»).
Я хочу объединить их в одну переменную ($ date) в формате ГГГГ-мм-дд, то есть «2018-09-14».
Обратите внимание, что перед месяцем «9» и днем «5» стоит «0».
Как лучше всего это сделать?
Спасибо!






Вы можете просто:
$year = 1980;
$month = 9;
$day = 5;
$date = strftime("%F", strtotime($year."-".$month."-".$day));
Но почему бы просто не объединить строки?
$date = $year . "-" . str_pad($month, 2, "0", STR_PAD_LEFT) . "-" . str_pad($day, 2, "0", STR_PAD_LEFT);
echo date("d-m-Y",mktime(0, 0, 0, $day, $month, $year));
Обратите внимание, что OP запросил формат, отличный от того, который вы указываете в своем ответе. Объяснение того, почему это лучше, чем простая конкатенация строк, улучшило бы ваш ответ.
Лучший способ сделать это - объединить строки в одну.