On 5/23/06, Dave Goodchild <[EMAIL PROTECTED]> wrote:
Hi all, I am writing an app that runs a prize draw, wherein the admin
chooses the duration by adding a start date and number of days for the draw
to run. These values are passed into a small function that generates an
array holding the start date, end date and all dates in between as follows:
function generateDates($first, $duration) {
$dates = array();
$date = getdate(mktime($first));
$month = $date['mon'];$day = $date['mday'];$year = $date['year'];
for ($i = 1;$i <= $duration; $i++) {
$added = getdate(mktime($day++ . "-" . $month . "-" . $year));
$dates[] = $added['mday'] . "-" . $added['mon'] . "-" .
$added['year'];
}
return $dates;
}
$series = generateDates('23-05-2006', 20);
var_dump($series);
...when I var_dump the array the iteration stops at May 24 - I am looking
into it but does anyone have any ideas why this is sticking ie is my date
arithmetic wrong? Cheers.
Your mktime() usage is off. I think you're confusing it with
strtotime(). Please see the function arguments in the docs:
php.net/mktime
php.net/strtotime
Also, inside the loop, instead of using getdate and then
concatenating to form the date string, consider using
the date() function to do it.
php.net/date
Rabin
--
http://rab.in
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php