Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP: Right way to declare variable before use in loop

I have a variable that is built in loop. Something like:

$str = "";
for($i = 0; $i < 10; $i++) $str .= "something";

If $str = "" is ommitted, I get undefined variable notice, but I thought php auto-declare a variable the first time it sees undeclared one?

How do I do this right?

like image 470
syaz Avatar asked Oct 28 '08 16:10

syaz


1 Answers

You get the undefined variable because you're concatenating the value of itself with another value.

The equivalent of

$str = $str . "something";

So, it can't say what's the initial value is. It's the equivalent of this:

$str = [undefined value] . "something";

What's the result of a concatenation of [undefined value] and "something"? The interpreter can't say...

So, you have to put "" in the variable first to initiate the variable's value, as you did.

HTH

like image 184
vIceBerg Avatar answered Nov 07 '22 06:11

vIceBerg