views:

67

answers:

1

Hello! I have a problem storing a PHP loop in a variable.

The loop is like this:

for( $i = 1; $i <= 10; $i++ ) {

    echo $i . ' - ';

}

for this it's OK for an echo or print as it will produce:

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 -

now I want to store the whole loop in a variable like $my_var which means:

echo $my_var;

which will produce:

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 -

the whole idea is that I want to make the loop, store it as a string in a variable $my_var, than use it later in my script.

I hope the idea is clear. Thanks.

+4  A: 
$str = '';

for( $i = 1; $i <= 10; $i++ ) {
    $str .= $i . ' - ';    
}

echo $str;

Simply append the new string to the old one.

Alternatively, you could do

$str = implode(range(1, 10), ' - ') . ' - ';

Or even...

$str = implode(array_merge(range(1, 10), array(' ')), ' - ');
alex
Thanks a lot!That's exactly what I need.
mohamed87
@med Welcome to programming :)
alex
I have 4 years of php development and always wandered about the .= and it came the time that I finally understood it. so it is used to append! thanks a lot!
mohamed87
@med `$foo .= $bar` is simply a shortcut for `$foo = $foo . $bar`...
deceze
+1 Are your alternative solutions examples of functional programming?
BoltClock
@BoltClock Sure :P
alex