php变量作用域(花括号、global、闭包)
变量的作用域是变量的一个作用范围,在这个范围内变量为可见的,即可以访问该变量的代码区域, 相反,如果不在这个范围内,变量是不可见的,无法被调用。 (全局变量可以将作用范围看作为整个程序)
花括号
很多语言都以花括号作为作用域界限,PHP中只有函数的花括号才构成新的作用域。
01
<?php
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
<?php
2
function
test() {
3
$test
=
'var test'
;
4
}
5
6
test();
7
var_dump(
$test
);
8
?>
结果是:
1
NULL
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。