所以基本上我有一个文件,让我们说file1.php
,它包含另一个file2.php
。
file1.php
包含一个名为$dateString
的变量,我已对其执行了一些操作。
file2.php
也有一个名为$dateString
的变量,但即使$dateString
在包含file2.php
之前已初始化,此变量也未在此包含文件中引用。
目前这是file1.php
的样子:
$dateString = 'some expression';
include 'file2.php';
file2.php
基本上是试图回显file1.php
echo $dateString;
除了一个变量外,file2.php
中的所有其他内容都被正确调用。
希望这是有道理的。这可能在PHP?我已经在其他地方读过你需要使变量全局化,而其他人已经提到你如何不能从子文件中的父文件中引用变量。有什么想法?提前谢谢!
答案 0 :(得分:0)
使用PHP的include()
时,没有任何神奇的事情发生。包含文件的代码基本上只是插入到包含它的位置 - 导致一个更大的PHP文件
无论是“父”还是“子”文件都没关系 - 这是重要的位置,因为PHP将从上到下解析单个结果文件。
例如:如果在包含文件B之前在文件A中设置变量,则文件B将知道该变量。但如果在包含文件B后在文件A中设置变量 - 文件B不知道它。
答案 1 :(得分:0)
通过编码,您应该在询问其他人之前尝试测试自己的东西,就像@bub在评论中建议的那样。
变量是全局变量,你可以包含另一个文件并使用file2.php中file1.php中的变量。
否则,如果您在函数中使用它们,我建议使用:
global $var;
以上内容只应在函数中使用。