On Fri, February 2, 2007 7:41 pm, Robert Cummings wrote: >> for ($year = date('Y'); $year <= date('Y') + 10; $year++){ >> $short_year = $year - 2000; $short_year = sprintf('%02d', $short_year); >> echo "<option value=\"$short_year\">$year</option>\n"; >> } >> >> Using the 2-digit year as your value is almost for sure a really Bad >> Idea, unless you are dealing with legacy software that absolutely >> needs it... > > Sorry Richard, you solution fails since he wants to retain the leading > zeros on the 2 digit years. Using subtraction and not formatting the > result will result in the loss of the 0 in 07. Also, why call the > date() > function 10 times by embedding it in the loop's terminate condition? Because 10 calls to date() is chump-change. If you need to optimize away 10 calls to date() then something is horribly wrong... That said, it's pretty trivial to optimize it: for ($year = date('Y'), $end = date('Y) + 10; $year <= $end; $year++){ If PHP guarantees the order of operations in for(, ; ; ) you could even use $year instead of date('Y) on the $end assignment. That's really getting silly about optimization, however. -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some starving artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php