echo "Point1, a=".$a."\n";
echo "Point1, b=".$b."\n";
if(1<2)
{
$a = 6;
$b['link'] = "here";
echo "Point2, a=".$a."\n";
echo "Point2, b[link]=".$b['link']."\n";
}
echo "Point3, a=".$a."\n";
echo "Point3, b[link]=".$b['link']."\n";
为什么上面的代码打印出以下内容?了解php中的变量范围
Point1, a=
Point1, b=
Point2, a=6
Point2, b[link]=here
Point3, a=6
Point3, b[link]=here
在我的理解中,$ a和$ b的范围应该在大括号{}内结束!
@ tzmatt7447要知道为什么这是_desired_行为,请考虑代码如 if(1 <2){a = true; b =“yellow”;} else {a = false; B = “蓝色”; } 这是不可能的,如果范围工作就像你建议 – 2010-08-23 15:09:30
@迈克尔 - 我现在看到如何php做到这一点,但你说的应该是有效的,如果a和b事先声明...我在想什么太多的C/C++? :) – tzmatt7447 2010-08-25 13:20:22
谢谢佩卡 - 这确实很好地解释它.. – tzmatt7447 2010-08-25 13:22:38