help with for loop

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
mayman212
Forum Newbie
Posts: 1
Joined: Fri Nov 04, 2011 7:54 am

help with for loop

Post by mayman212 »

Code: Select all

<table>
<tr>
	<td align="center">
<?PHP

$b = 1;
for ($a=1; $a<=1; $a++)
{
        echo $b++;
        echo "<br>";
}

$b = 2;
for ($a=1; $a<=2; $a++)
{
        echo $b++;
       
}

echo "<br>";
$b = 4;
for ($a=1; $a<=3; $a++)
{
        echo $b++;
       
}
echo "<br>";
$b = 7;
for ($a=1; $a<=5; $a++)
{
        echo $b++;
       
}
echo "<br>";
$b = 12;
for ($a=1; $a<=5; $a++)
{
        echo $b++;
       
}
echo "<br>";
$b = 17;
for ($a=1; $a<=4; $a++)
{
        echo $b++;
       
}
echo "<br>";
$b = 21;
for ($a=1; $a<=3; $a++)
{
        echo $b++;
       
}
echo "<br>";
$b = 24;
for ($a=1; $a<=2; $a++)
{
        echo $b++;
       
}
echo "<br>";
$b = 26;
for ($a=1; $a<=1; $a++)
{
        echo $b++;
       
}

?>
</td>
</tr>
</table>
Hi all
I am trying to use for loops to make a shape that looks something along the lines of this:
1
23
456
7891011
1213141516
17181920
212223
2425
26

I have managed to do it, but using way too many loops (9), I want to be a little less than this. Anyone have any help?
icesolid
Forum Regular
Posts: 502
Joined: Mon May 06, 2002 9:36 pm
Location: Buffalo, NY

Re: help with for loop

Post by icesolid »

Here is a start to a cleaner solution:

Code: Select all

<?php
for($a = 1; $a <= 26; $a++)  {
    echo $a;
    
    if($a == 1) {
        echo '<br />';
    } elseif($a == 3) {
        echo '<br />';
    } elseif($a == 6) {
        echo '<br />';
    } elseif($a == 11) {
        echo '<br />';
    } elseif($a == 16) {
        echo '<br />';
    } elseif($a == 20) {
        echo '<br />';
    } elseif($a == 23) {
        echo '<br />';
    } elseif($a == 25) {
        echo '<br />';
    }  
}
?>
Richardw
Forum Newbie
Posts: 2
Joined: Fri Nov 04, 2011 10:04 am

Re: help with for loop

Post by Richardw »

icesolid wrote:Here is a start to a cleaner solution:

Code: Select all

for($a = 1; $a <= 26; $a++)  {
    echo $a;
    
    if($a == 1) {
        echo '<br />';
    } elseif($a == 3) {
        echo '<br />';
    } elseif($a == 6) {
        echo '<br />';
    } elseif($a == 11) {
        echo '<br />';
    } elseif($a == 16) {
        echo '<br />';
    } elseif($a == 20) {
        echo '<br />';
    } elseif($a == 23) {
        echo '<br />';
    } elseif($a == 25) {
        echo '<br />';
    }  
}
How about this...

Code: Select all

for($a=1; $a<27; $a++){
	echo $a;
	if (in_array($a, array(1,3,6,11,16,20,23,25))){
		echo '<br />';
	}
}
8)
icesolid
Forum Regular
Posts: 502
Joined: Mon May 06, 2002 9:36 pm
Location: Buffalo, NY

Re: help with for loop

Post by icesolid »

Yeah, @Richardw much better, in_array() slipped my mind - IT'S FRIDAY!
Post Reply