Re: Pointers For Newbies, Reminders For Oldies
| From: | Ashley Sheridan | Date: | Wed, 27 Jan 2010 16:00:43 +0000 |
| Subject: | Re: Pointers For Newbies, Reminders For Oldies | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-301555@lists.php.net to get a copy of this message | ||
On Wed, 2010-01-27 at 08:01 -0800, Michael A. Peters wrote:
> Paul M Foster wrote:
> > "... should be obvious - but are often overlooked - points within coding
> > practice that can cause the programmer to develop bad habits and bad
> > code." - Dan Brown
> >
> > Tip #1:
> >
> > Don't use count() in loops unless there are very few items to count and
> > performance doesn't matter, or the number will vary over the loop. That
> > is, don't do this:
> >
> > for ($i = 0; $i < count($items); $i++)
> >
> > Instead, do this:
> >
> > $number = count($items);
> > for ($i = 0; $i < $number; $i++)
>
> Gah!
>
> for ($i=0;$i<sizeof($array);$i++)
>
> is something I do all the time.
> So the array size is being calculated each iteration?
>
Yeah, the condition is evaluated once for each cycle of the loop. I use
the count() a lot myself tbh, but I don't often have the call to work
with massive data sets and huge loops.
Thanks,
Ash
http://www.ashleysheridan.co.uk