sexevil 发表于 2017-3-24 10:45:34

{{PHP}}变量作用域测试(待续)

{{PHP}}变量作用域测试

//1
<?php
$foo = 'tip1';
function f() {
global $foo;
print $foo;
$foo = 'foo';
print $bar;
}
f();

输出为:
:!php test.php
tip1
Notice: Undefined variable: bar in /home/zhanhailiang/test.php on line 35

//2
<?php
$foo = 'tip1';
function f() {
print $foo;
$foo = 'foo';
print $bar;
}
f();

输出为:
:!php test.php
Notice: Undefined variable: foo in /home/zhanhailiang/test.php on line 32
Notice: Undefined variable: bar in /home/zhanhailiang/test.php on line 34

//3
<?php
$foo = 'tip1';
function f() {
$foo = 'foo';
print $foo;
print $bar;
}
f();

输出为:
:!php test.php
foo
Notice: Undefined variable: bar in /home/zhanhailiang/test.php on line 34

//1
在函数内通过global声明访问全局作用域内的变量,这在PHP中被称为变量的跨域操作
$bar未定义,所以报错

//2
PHP不允许在函数内未通过global声明访问全局作用域内的变量
$bar未定义,所以报错

//3
不解释,原因显然
页: [1]
查看完整版本: {{PHP}}变量作用域测试(待续)