Hi,
Saturday, March 27, 2004, 4:45:38 AM, you wrote:
CWP> hi.
CWP> ok, so i've always been under the impression that count()ing during the
CWP> expression of a loop was much inefficient when compared to count()ing
CWP> just before the loop expression.
CWP> GOOD:
CWP> <?php
CWP> $the_array_cnt = count($the_array);
CWP> for($i = 0; $i < $the_array_cnt; $i++)
CWP> {
CWP> ...
CWP> }
?>>
CWP> BAD:
CWP> <?php
CWP> for($i = 0; $i < count($the_array); $i++)
CWP> {
CWP> ...
CWP> }
?>>
CWP> but then i did some tests and found that only on very large arrays is
CWP> there any difference between the two. count()ing outside of the loop was
CWP> only marginally better.
CWP> i also tried performing the same operation using foreach() and it was
CWP> slightly faster than count()ing within the loop and slightly slower than
CWP> count()ing outside the loop.
CWP> somone pointed out in a post to a message board that php handles the
CWP> result of a count() in a special way and so it therefore does not need
CWP> to count the array more than once each pass through the loop? can
CWP> someone confirm?
CWP> thanks,
CWP> chris.
CWP> --
CWP> PHP General Mailing List (http://www.php.net/)
CWP> To unsubscribe, visit: http://www.php.net/unsub.php
Depends on your code logic, if $the_array gets modified in the loop
then you have to check it on each pass. If not, efficiency would
suggest doing it before the loop. You can always do the 1 line
version:
for ($i=0,$j=count($the_array);$i<$j;$i++){
--
regards,
Tom
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php