PHP:在循环中使用之前声明变量的正确方法

sya*_*yaz 7 php performance loops

我有一个内置循环的变量.就像是:

$str = "";
for($i = 0; $i < 10; $i++) $str .= "something";
Run Code Online (Sandbox Code Playgroud)

如果$ str =""被省略,我得到未定义的变量通知,但我认为php第一次看到未声明的变量时自动声明变量?

我该怎么做?

vIc*_*erg 15

您获得未定义的变量,因为您将自身的值与另一个值连接起来.

相当于

$str = $str . "something";

所以,它不能说出初始值是什么.它相当于:

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

什么是一个串联的结果[undefined value]"something"?口译员不能说......

因此,您必须""首先输入变量以启动变量的值,就像您所做的那样.

HTH


Ros*_*oss 8

如果你真的需要让它更干净,你可以做到:

for($i = 0, $str = ''; $i < 10; $i++) $str .= "something";
Run Code Online (Sandbox Code Playgroud)

但你所拥有的就是我通常所做的.vlceBerg解释得很好.