PHP无法将变量传递给包含的文件

Luk*_*uke 3 php variables include

我试图找到这个解决方案:

file1.php

$name = "Jacob";
include ("file2.php");
Run Code Online (Sandbox Code Playgroud)

file2.php

Hi there! <?php echo $name ?>
Run Code Online (Sandbox Code Playgroud)

产量

Hi There! Notice: Undefined variable: name in /volume1/web/test/file2.php on line 9 
Run Code Online (Sandbox Code Playgroud)

需要帮助请://

Thi*_*ter 9

你的代码运行正常.

如果您收到该错误,则file1.php肯定不会在全局范围内定义$ name.

Fyi,引自文档:

包含文件时,它包含的代码将继承发生包含的行的变量范围.从那时起,调用文件中该行可用的任何变量都将在被调用文件中可用.但是,包含文件中定义的所有函数和类都具有全局范围.

我的测试用php-5.3.3-pl1-gentoo(cli)以防你在使用的任何版本中都是PHP错误 - 但我怀疑:

[thiefmaster@hades:~]> cat inc1.php
<?php
$name = 'bleh';
include('inc2.php');
?>
[thiefmaster@hades:~]> cat inc2.php
Hi there! <?php echo $name; ?>
[thiefmaster@hades:~]> php inc1.php
Hi there! bleh
Run Code Online (Sandbox Code Playgroud)


phi*_*hag 4

确保您的 URL 以file1.php和结尾,file2.php或者包含file2.php. 另外,尝试将这两个文件缩减为您在此处发布的内容(加上<?php开头的a file1.php)以排除周围的代码。