https://www.cnblogs.com/52php/p/5670067.html
花括号
很多语言都以花括号作为作用域界限,PHP中只有函数的花括号才构成新的作用域。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
运行结果是:
1 |
|
可见if和for的花括号并无构成新的作用域。
而函数:
1 2 3 4 5 6 7 8 |
|
结果是:
1 |
|
global关键字
PHP的执行是以一个.php脚本为单位,在一个.php脚本的执行过程中,可以include和require其他PHP脚本进来执行。
执行的.php脚本与include/require进来的脚本共享一个全局域(global scope)。
global关键字无论在哪层,所引用的都是全局域的变量。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
执行结果是:
1 |
|
闭包
闭包作用域跟函数类似,内层访问外层变量,外层不能访问内层变量。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
执行结果:
1 |
|