php变量作用域(花括号、global、闭包)

变量的作用域是变量的一个作用范围,在这个范围内变量为可见的,即可以访问该变量的代码区域, 相反,如果不在这个范围内,变量是不可见的,无法被调用。 (全局变量可以将作用范围看作为整个程序)

10年积累的成都网站建设、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有信宜免费网站建设让你可以放心的选择与我们合作。

花括号

很多语言都以花括号作为作用域界限,PHP中只有函数的花括号才构成新的作用域。

01
02if(True) {
03$a= 'var a';
04}
05
06var_dump($a);
07
08for($i= 0; $i< 1; $i++) {
09$b= 'var b';
10for($i= 0; $i< 1; $i++) {
11$c= 'var c';
12}
13var_dump($c);
14}
15
16var_dump($b);
17var_dump($c);
18?>

运行结果是:

1string(5) "var a"string(5) "var c"string(5) "var b"string(5) "var c"

可见if和for的花括号并无构成新的作用域。

而函数:

1
2functiontest() {
3$test= 'var test';
4}
5
6test();
7var_dump($test);
8?>

结果是:

1NULL



网站栏目:php变量作用域(花括号、global、闭包)
文章源于:http://scyanting.com/article/gpjhoi.html