Puedes usar la clase DateTime:
Código PHP:
Ver original<?php
$starDate = new DateTime('2011-01-01');
$endDate = new DateTime('2011-01-31');
$interval = $starDate->diff($endDate);
$numberOfDays = $interval->format('%d days');
for($i = 1; $i <= $numberOfDays; $i++){
if($starDate->format('l')== 'Saturday' || $starDate->format('l')== 'Sunday'){
echo $starDate->format('y-m-d (D)')."<br/>";
}
$starDate->modify("+1 days");
}
?>
Prueba el fragmento de código.