Here’s a different way of doing it using DateTime:
<?php
date_default_timezone_set('America/Detroit'); // Set the Default Time Zone:
$dates = array();
function getDates($year="2014") {
$startYear = new DateTime('01-01-' . $year);
$endYear = new DateTime("Now");
while ($startYear->format('Y-m-d') <= $endYear->format('Y-m-d')) {
$startDate = $startYear->format('Y-m-d');
$startYear->modify('last day of this month');
$endDate = $startYear->format('Y-m-d');
$dates[$startDate] = $endDate;
$startYear->modify('first day of next month');
}
return $dates;
}
$dates = getDates();
echo '<pre>' . print_r($dates,1) . '</pre>';