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