Do you mean something like this?
<?php
/**
* Add a number of days to a date, skipping saturdays and sundays
* @param integer $date UNIX timestamp to which days will be added
* @param integer $days Number of days to add
* @return integer UNIX timestamp
*/
function addWeekdays($date, $days)
{
$weeks = floor($days / 5);
$remainder = $days % 5;
$date = strtotime('+'.$weeks.' weeks '.$remainder.' days', $date);
$wkDay = date('w', $date);
switch($wkDay)
{
case 0: // sunday
$date = strtotime('+1 days', $date);
break;
case 6: // saturday
$date = strtotime('+2 days', $date);
break;
}
return $date;
}
// sample usage:
echo "<pre>";
$today = time();
for($i=1; $i<23; $i++)
{
printf("Add % 2d weekdays: %s\n", $i,
date('D Y-m-d', addWeekdays($today, $i)));
}
echo "</pre>";
Output:
Add 1 weekdays: Wed 2008-03-05
Add 2 weekdays: Thu 2008-03-06
Add 3 weekdays: Fri 2008-03-07
Add 4 weekdays: Mon 2008-03-10
Add 5 weekdays: Tue 2008-03-11
Add 6 weekdays: Wed 2008-03-12
Add 7 weekdays: Thu 2008-03-13
Add 8 weekdays: Fri 2008-03-14
Add 9 weekdays: Mon 2008-03-17
Add 10 weekdays: Tue 2008-03-18
Add 11 weekdays: Wed 2008-03-19
Add 12 weekdays: Thu 2008-03-20
Add 13 weekdays: Fri 2008-03-21
Add 14 weekdays: Mon 2008-03-24
Add 15 weekdays: Tue 2008-03-25
Add 16 weekdays: Wed 2008-03-26
Add 17 weekdays: Thu 2008-03-27
Add 18 weekdays: Fri 2008-03-28
Add 19 weekdays: Mon 2008-03-31
Add 20 weekdays: Tue 2008-04-01
Add 21 weekdays: Wed 2008-04-02
Add 22 weekdays: Thu 2008-04-03