I have this code: <?php $i=1; while($i<=50) { echo '<div class="s02-0' . $i . '"> </div>'; $i++; } ?> Code (markup): $i outputs numbers from 1 to 50 ..but I need it to outpout from 01 to 50. I need it to output: <div class="s02-01"> </div> <div class="s02-02"> </div> <div class="s02-03"> </div> <div class="s02-04"> </div> <div class="s02-05"> </div> <div class="s02-06"> </div> <div class="s02-07"> </div> <div class="s02-08"> </div> <div class="s02-09"> </div> <div class="s02-10"> </div> etc.. Code (markup): NOT: <div class="s02-1"> </div> <div class="s02-2"> </div> <div class="s02-3"> </div> <div class="s02-4"> </div> <div class="s02-5"> </div> <div class="s02-6"> </div> <div class="s02-7"> </div> <div class="s02-8"> </div> <div class="s02-9"> </div> <div class="s02-10"> </div> etc.. Code (markup):
This is the best I can come up with so far. It works, but I am not convinced it's the most efficient way of doing things: <?php $i=1; while($i<=50) { if ($i<=9) { echo '<div class="s01-0' . $i . '"> </div>'; } else { echo '<div class="s01-' . $i . '"> </div>'; } $i++; } ?> Code (markup):
Now, if anyone can show me how to replicate that code again another 50 times (from "s01-$1" to "s50-$1"), that would be great. You will have helped me change a page with literally 2,500 hard coded html lines into a pretty while loop.
ie: I am tryuing to output <div class="s01-01"> </div> <div class="s01-02"> </div> <div class="s01-03"> </div> <div class="s01-04"> </div> <div class="s01-05"> </div> <div class="s01-06"> </div> <div class="s01-07"> </div> <div class="s01-08"> </div> <div class="s01-09"> </div> <div class="s01-10"> </div> <div class="s01-11"> </div> <div class="s01-12"> </div> <div class="s01-13"> </div> <div class="s01-14"> </div> <div class="s01-15"> </div> <div class="s01-16"> </div> <div class="s01-17"> </div> <div class="s01-18"> </div> <div class="s01-19"> </div> <div class="s01-20"> </div> <div class="s01-21"> </div> <div class="s01-22"> </div> <div class="s01-23"> </div> <div class="s01-24"> </div> <div class="s01-25"> </div> <div class="s01-26"> </div> <div class="s01-27"> </div> <div class="s01-28"> </div> <div class="s01-29"> </div> <div class="s01-30"> </div> <div class="s01-31"> </div> <div class="s01-32"> </div> <div class="s01-33"> </div> <div class="s01-34"> </div> <div class="s01-35"> </div> <div class="s01-36"> </div> <div class="s01-37"> </div> <div class="s01-38"> </div> <div class="s01-39"> </div> <div class="s01-40"> </div> <div class="s01-41"> </div> <div class="s01-42"> </div> <div class="s01-43"> </div> <div class="s01-44"> </div> <div class="s01-45"> </div> <div class="s01-46"> </div> <div class="s01-47"> </div> <div class="s01-48"> </div> <div class="s01-49"> </div> <div class="s01-50"> </div> <div class="s02-01"> </div> <div class="s02-02"> </div> <div class="s02-03"> </div> <div class="s02-04"> </div> <div class="s02-05"> </div> <div class="s02-06"> </div> <div class="s02-07"> </div> <div class="s02-08"> </div> <div class="s02-09"> </div> <div class="s02-10"> </div> <div class="s02-11"> </div> <div class="s02-12"> </div> <div class="s02-13"> </div> <div class="s02-14"> </div> <div class="s02-15"> </div> <div class="s02-16"> </div> <div class="s02-17"> </div> <div class="s02-18"> </div> <div class="s02-19"> </div> <div class="s02-20"> </div> <div class="s02-21"> </div> <div class="s02-22"> </div> <div class="s02-23"> </div> <div class="s02-24"> </div> <div class="s02-25"> </div> <div class="s02-26"> </div> <div class="s02-27"> </div> <div class="s02-28"> </div> <div class="s02-29"> </div> <div class="s02-30"> </div> <div class="s02-31"> </div> <div class="s02-32"> </div> <div class="s02-33"> </div> <div class="s02-34"> </div> <div class="s02-35"> </div> <div class="s02-36"> </div> <div class="s02-37"> </div> <div class="s02-38"> </div> <div class="s02-39"> </div> <div class="s02-40"> </div> <div class="s02-41"> </div> <div class="s02-42"> </div> <div class="s02-43"> </div> <div class="s02-44"> </div> <div class="s02-45"> </div> <div class="s02-46"> </div> <div class="s02-47"> </div> <div class="s02-48"> </div> <div class="s02-49"> </div> <div class="s02-50"> </div> Code (markup): , and s03 and s04, etc -- all the way to 50 (2,500 lines), with as little code as possible. Anything is better than 2,500 hard coded lines. It's taking a couple of seconds for the browser to render that code. PLUS, there's about 10 associated files (css, php includes, etc), some have 25,000 HARD CODED lines (I kid you not). So, once I have the principal to handle this kind of thing, hopefully I can start changing those 25,000 line pages to 100 line pages.
Here is your solution, <?php for($i=0;$i<=50;$i++) echo '<div class="s02-s',str_pad($i, 2, "0", STR_PAD_LEFT),'"> </div>'; ?> Hope it will help you...
or you can check length of $i in the loop before you echo it with the div. if the length is 1 echo "0".$i else echo $i. put this code in a your own defined function. so that you can call it 50 times . just remember that use $i as a local variable of a function.