了解php中的变量范围

tzm*_*447 2 php scope

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";
Run Code Online (Sandbox Code Playgroud)

为什么以上代码打印出以下内容?

Point1, a=
Point1, b=
Point2, a=6
Point2, b[link]=here
Point3, a=6
Point3, b[link]=here
Run Code Online (Sandbox Code Playgroud)

根据我的理解,$ a和$ b的范围应该在花括号{}内结束!

Pek*_*ica 11

根据我的理解,$ a和$ b的范围应该在花括号{}内结束!

只有函数和方法有自己的局部范围.其他控制结构(循环,条件......)则没有.

PHP手册中的变量范围