1 php infinite-loop while-loop
在完成此代码之前,我只是错误地测试了它,并意识到它不会停止:
$var = "any";
for ($i=1; $i < 2; $i++){
$var.$i = "any";
}
Run Code Online (Sandbox Code Playgroud)
为什么会产生无限循环?为什么PHP不会产生错误?
小智 5
我做了一个简单的测试:
echo $i;
$var.$i = "any";
var_dump($var);
Run Code Online (Sandbox Code Playgroud)
结果:
1string(3) "any"
anzstring(3) "any"
Run Code Online (Sandbox Code Playgroud)
所以$ i被转换为"anz"并且没有通过验证以退出循环.
$ var.$ i ="any"; 是不是真的正确,我不知道你想要做什么,但如果你想填补和阵列你应该做更多的事情:
$var = array();
for ($i=1; $i < 2; $i++){
$var[] = "any";
}
Run Code Online (Sandbox Code Playgroud)
如果您想逐字母更改字符串:
$var = "any";
for ($i=1; $i < 2; $i++){
$var[$i] = "a"; // asign a new letter to the string at the $i position
}
Run Code Online (Sandbox Code Playgroud)