php包含(include/require)文件时的作用域

当一个php脚本被require/include时,他的变量作用域根据其上下文环境决定.

1.如果是在一个函数中require/include一个文件,则此文件中的变量作用域是这个函数的范围.也就是说,这个文件只能访问此函数内在载入这个文件前所定义的变量,全局变量是不能访问的.距离说明

脚本test.php的内容:

<?php
    function foo(){
        $GLOBALS['a']="i am global";
        $b="i am variable inner function";
        include "included-file.php";
    }
foo();

 

脚本included-file.php的内容:

<?php
echo $a,$b;

运行test.php的结果是:

Notice: Undefined variable: a in E:\work\phpcom\aa.php on line 2
i am variable inner function

2.如果是在全局环境中引入一个文件,那这个文件是可以直接访问全局变量的.

 

posted @ 2016-10-01 23:23  toDoYourBest  阅读(741)  评论(0编辑  收藏  举报