Я лично предпочитаю использовать этот ярлык. Результат будет прежним, но вам не нужно хранить месяц и год в отдельных переменных
$dateValue = '2012-01-05';
$formattedValue = date("F Y", strtotime($dateValue));
echo $formattedValue; //Output should be January 2012
Небольшое примечание по использованию этого трюка, вы можете использовать запятые для разделения месяца и года следующим образом:
$formattedValue = date("F, Y", strtotime($dateValue));
echo $formattedValue //Output should be January, 2012