Re: Nested loopa
| From: | Jim Giner | Date: | Thu, 27 Dec 2012 18:53:43 +0000 |
| Subject: | Re: Nested loopa | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-319960@lists.php.net to get a copy of this message | ||
On 12/27/2012 1:29 PM, Matijn Woudt wrote:
On Thu, Dec 27, 2012 at 4:42 PM, Tedd Sperling <tedd@sperling.com> wrote:On Dec 26, 2012, at 10:09 AM, Jim Giner <jim.giner@albanyhandball.com> wrote:There are just cases where do/while makes more sense, for example: do {While I fully understand the purpose of the do...while construct, I justnever get used to seeing it used. (in other langs I had to deal with a 'repeat...until construct and dis-liked that also). I pretty much know if I'm going to have to deal with a "run at least once" when I'm coding and therefore code appropriately, altho I don't know in what ways I've handled it at this very moment.-snip- To me - so much easier to comprehend at first glance. As soon as my eyecomes to a block of code starting with a conditional like 'while', I readily see what makes it tick. Again I see the potential usefulness of doing it the other way as you did in your example, but in your case there wasn't a need for using 'do...while' since you structured it so that there was never a case where you had to force the loop to happen regardless of conditions. I too used while's instead of do's for the same reason. However, in my class I had a student show be the light (one can always learn from beginners). Think of it this way, you travel into the code knowing that at some point you're going to repeat the block of code IF a condition is going to be met within the block of code. With that consideration, the 'do/while()' works. Using just a 'while()' for everything means you must determine the what the truth of the 'while()' is going to be AND set that value before the loop. Whereas, using a 'do/while()', you don't need to set the truth until the block of code has been implemented AND at that point determine the truth of the block of code. Cheers, tedd$c = fgetc($fp);} while ($c != 0); if you want to put while in front, you need to duplicate the fgetc call, like this: $c = fgetc($fp); while($c != 0) {$c = fgetc($fp);} Which is worse than the do/while construct. - Matijn I never said it wasn't useful, just not something I have ever HAD to do. I don't often speak in 4 syllable words either, but once in a while I find the need.... :)