将变量传递给包含的文件以在另一个文件中使用

时间:2014-01-08 12:37:37

标签: php

我的index.php里面有include("calendar.php")index.php包含可在$passdate内访问的calendar.php字段。 我在include("calendarnew.php")内也有calendar.php,我想再次传递$passdate字段。它没有得到它,因为它实际上位于计算所在的index.php内。

我希望这不会太混乱。如何使用include语句将派生字段从一个文件传递到另一个文件?

我收到了一些很好的答案,但我不认为我很清楚。第一个文件使用include语句调用第二个文件。但是,第二个是使用href调用第三个。这导致第一个文件中的变量在第三个文件中不可访问。我希望澄清事情。感谢

3 个答案:

答案 0 :(得分:1)

<强> a.php只会

   $b = "this_from_a";
   include("t1.php");

<强> t1.php

   echo "<a href=t2.php?var=".$b.">link</a>";

<强> t2.php

echo $_GET['var'];

输出:

this_from_a

<强> WAY2:
使用会话。

答案 1 :(得分:0)

当您在PHP中包含文件时,PHP解释器会在运行时创建一个大文件。只要你有“include()”或“require()”函数,就会在那里插入这些文件的内容。因此,实际上,您最终在运行时最终只得到一个文件。因此,在index.php文件顶部声明的变量应始终可访问。

说完这个,请注意变量范围。例如,如果在index.php文件的顶部声明一个变量,并尝试在index.php文件中包含的另一个文件中的函数内引用该变量,那么这将无效,因为您正在寻找本地函数中的变量,实际上是一个全局变量。要解决此问题,请使用“global”关键字指示某个变量指示符应指向全局变量。

例如:

<?php
$my_var = 1;

function my_funct() {
    global $my_var;

    print $my_var; // Will print 1
}

我希望这很有用。

此致 拉尔夫

答案 2 :(得分:0)

如果在分配$ passdate之前执行calendar.php和calendarnew.php中的代码,则无法访问它。

如果您尝试在calendar.php或calendarnew.php文件中的函数内访问$ passdate,只需将其称为全局变量。

示例:

index.php文件

include 'calendar.php';
//some code
$passdate = 'same value';

calendar.php文件

include 'calendarnew.php';
function someFunctionName()
{
    global $passdate;
    return $passdate . ' append value';
}

希望有所帮助