让我们说我有一个页面index.php,并在其中执行:
require_once("file1.php");
echo $myVar;
在file1.php我有:
require_once("file2.php");
并且在file2.php中我有
$myVar = "test";
执行此脚本后,index.php无法访问$ myVar并输出未定义的变量。 有什么理由吗?
答案 0 :(得分:2)
require
/ include
就好像所包含文件的内容被字面切割/粘贴到include指令所在的位置。您的变量将起作用,除非在include调用之间发生其他事情。
e.g。
core.php中:
<?php
$foo = 'bar';
file1.php:
include('core.php');
$foo = 'baz';
file2.php
echo $foo; // undefined
include('core.php');
echo $foo; // outputs bar
include('file1.php');
echo $foo; // outputs baz