It looks like you did not initialise $i, did not use mktime() correctly, and swapped the arguments for strtotime(). Try:
$date = '2008-04-18';
$weeks = 4;
for ($i = 0; $i < $weeks; ++$i) {
echo $date . "<br />";
list($year, $month, $day) = explode('-', $date);
$time = mktime(0, 0, 0, $month, $day, $year);
$time = strtotime('+ 1 week', $time);
$date = date('Y-m-d', $time);
}