2016-09-14 114 views
-1

所以基本上我有一個文件,可以說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

回答

0

當您使用PHP的include()時,沒有什麼神奇的發生。包含文件的代碼基本上只是插入到包含它的位置 - 從而生成一個更大的PHP文件。
如果「父」或「子」文件中沒有任何關係 - 這是重要的位置,因爲PHP將從上到下解析單個結果文件。

例如:如果在包含文件B之前在文件A中設置變量,則文件B將知道該變量。但如果在包含文件B之後將文件A中的變量設置爲 - 文件B不知道它。

0

有了編碼,你應該在詢問其他人之前總是嘗試和測試你自己的東西,像@bub在評論中建議的那樣。

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

否則,如果你是在一個函數中使用它們,我建議使用:

global $var; 

上面應該只在一個函數中使用。

相關問題