现在的位置: 首页 > 综合 > 正文

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

2019年10月29日 ⁄ 综合 ⁄ 共 682字 ⁄ 字号 评论关闭

{{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
不解释,原因显然

抱歉!评论已关闭.