【发布时间】:2016-11-03 18:07:19
【问题描述】:
以下代码不应该像我知道的任何其他语言(C、C++、C# 等)那样执行
<?php
$do = true;
for($i=0; $i<3; $i++) {
if($do===true) {
$some_variable = 666;
echo $some_variable;
$do = false;
}
if(isset($some_variable)) {
echo $some_variable;
}
}
为什么 PHP 不会在下一次循环迭代中取消设置 $some_variable?
【问题讨论】:
-
循环在 PHP 中没有自己的作用域。
-
似乎你可以在 for 循环之外回显变量,即使你在里面定义了它。我认为 PHP 将这些变量视为当前页面的某种全局变量。这同样不适用于艰难的函数和类