php变量作用域(花括号、global、闭包)
变量的作用域是变量的一个作用范围,在这个范围内变量为可见的,即可以访问该变量的代码区域, 相反,如果不在这个范围内,变量是不可见的,无法被调用。 (全局变量可以将作用范围看作为整个程序)
10年积累的成都网站建设、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有信宜免费网站建设让你可以放心的选择与我们合作。
花括号
很多语言都以花括号作为作用域界限,PHP中只有函数的花括号才构成新的作用域。
01 |
|
02 | if (True) { |
03 |
$a = 'var a' ; |
04 | } |
05 |
06 | var_dump( $a ); |
07 |
08 | for ( $i = 0; $i < 1; $i ++) { |
09 |
$b = 'var b' ; |
10 |
for ( $i = 0; $i < 1; $i ++) { |
11 |
$c = 'var c' ; |
12 |
} |
13 |
var_dump( $c ); |
14 | } |
15 |
16 | var_dump( $b ); |
17 | var_dump( $c ); |
18 | ?> |
运行结果是:
1 | string(5) "var a" string(5) "var c" string(5) "var b" string(5) "var c" |
可见if和for的花括号并无构成新的作用域。
而函数:
1 |
|
2 | function test() { |
3 |
$test = 'var test' ; |
4 | } |
5 |
6 | test(); |
7 | var_dump( $test ); |
8 | ?> |
结果是:
1 | NULL |
分享题目:php变量作用域(花括号、global、闭包)
URL标题:http://scjbc.cn/article/gpjhoi.html