有没有办法在php include中使用另一个文件中的变量?

问题描述:

所以基本上我有一个文件,可以说file1.php,它包括另一个file2.php有没有办法在php include中使用另一个文件中的变量?

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中可能吗?我读过其他地方,你需要使变量全球和其他人已经提到你不能引用一个变量从一个子文件中的父文件..任何想法?提前致谢!

+5

你为什么不尝试一下呢?你有PHP和变量,包括等等。没有什么不好的事情会发生在你尝试它;) –

+0

这应该工作,因为它是。当PHP包含一个文件时,它会将包含文件中的代码有效地粘贴到调用文件中,以便包含的文件可以从调用该文件的变量中访问变量。如果在函数内部访问它,则只需将其设置为全局变量即可。 – andrewsi

+0

我确实尝试过。我试过了一百万种不同的方式,这就是为什么我问是否有可能是我缺少概念或缺乏知识的东西 – user3750929

当您使用PHP的include()时,没有什么神奇的发生。包含文件的代码基本上只是插入到包含它的位置 - 从而生成一个更大的PHP文件。
如果“父”或“子”文件中没有任何关系 - 这是重要的位置,因为PHP将从上到下解析单个结果文件。

例如:如果在包含文件B之前在文件A中设置变量,则文件B将知道该变量。但如果在包含文件B之后将文件A中的变量设置为 - 文件B不知道它。

有了编码,你应该在询问其他人之前总是尝试和测试你自己的东西,像@bub在评论中建议的那样。

变量是全球性的,您可以包含另一个文件并使用file2.php中的file1.php中的变量。

否则,如果你是在一个函数中使用它们,我建议使用:

global $var; 

上面应该只在一个函数中使用。