Forum Moderators: coopster

Message Too Old, No Replies

Picking out every 3rd number

         

twist

12:06 am on Apr 6, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



I need to run a for loop where there is a if and if-else statement inside like so,

for( $loop = 0; $loop < $number; $loop++ ) {

if( $loop == 0 ¦¦ $loop == 3 ¦¦ $loop == 6 ¦¦ $loop == 9 ¦¦ $loop == 12 ¦¦
$loop == 15 ¦¦ $loop == 18 ¦¦ $loop == 21 ¦¦ $loop == 24 ¦¦ $loop == 27 ¦¦
$loop == 30 ¦¦ $loop == 33 ¦¦ $loop == 36 ¦¦ $loop == 39 ¦¦ $loop == 42 ¦¦
$loop == 45 ¦¦ $loop == 48 ¦¦ $loop == 51 ¦¦ $loop == 54 ¦¦ $loop == 57 )
{ // do something }

else if( $loop == 1 ¦¦ $loop == 4 ¦¦ $loop == 7 ¦¦ $loop == 10 ¦¦
$loop == 13 ¦¦ $loop == 16 ¦¦ $loop == 19 ¦¦ $loop == 22 ¦¦ $loop == 25 ¦¦
$loop == 28 ¦¦ $loop == 31 ¦¦ $loop == 34 ¦¦ $loop == 37 ¦¦ $loop == 40 ¦¦
$loop == 43 ¦¦ $loop == 46 ¦¦ $loop == 49 ¦¦ $loop == 52 ¦¦ $loop == 55 ¦¦
$loop == 58 )
{ // do something else }

}


I know that has to be a easier way of doing this. Any ideas?

httpwebwitch

4:04 am on Apr 6, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



try the MODULUS (%) operator - it's a math function that divides a/b and returns the remainder.

mattkat

12:47 pm on Apr 6, 2004 (gmt 0)



that would be

if( ( $loop%3 ) == 0 ) {
// 0, 3, 6...
} elseif ( ( $loop%3 ) == 1 ) {
// 1, 4, 7...
} else {
// catches 2, 5, 8...
}

twist

9:27 pm on Apr 6, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Thanks httpwebwitch and mattkat, worked like a charm :)

Oh, btw, I don't know if i'm allowed to say this but,

Welcome to webmasterworld mattkat!