Re: Stepping through an array more than once

From: Date: Wed, 28 Aug 2002 12:52:42 +0000
Subject: Re: Stepping through an array more than once
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-114357@lists.php.net to get a copy of this message
Try unset($myrow_it). You don't want to reset the array, you want to clear it, then use a new array (with the same name, and the same $result) for another while loop. FWIW, I'm pretty sure I'd just use three distinct queries. Infact, it'd be worth you timing your scripts with both these versions to see what works out quicker -- three queries, or lots of if() statements [remember, you're in a while loop, so 5000 rows * 3 if statements = 15000!!] Put this at the top: <? $show_timer = 1; function getmicrotime() { list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } $time_start = getmicrotime(); ?> And this at the end: <? if($show_timer) { $time_end = getmicrotime(); $timer = $time_end - $time_start; echo "Timer: {$timer}<BR>"; } ?> Run the script with both versions about 10 times each, and take the average :) There are many many ways I can see that you could clean up and optimise the script you've shown (not intended as an insult AT ALL!) -- quite possibly some of these would make more of a difference to your performance than limiting yourself to just one query... at the very least, it would make updating the script easier, and reduce the lines of code. Good luck, Justin French

« previous php.general (#114357) next »