包含的页面接收变量?

时间:2012-09-26 11:28:16

标签: php variables include scope

在我的脚本中,我根据变量选择要包含的页面。

包含的页面是否接收主页面中定义的变量?或者我必须重新定义它们?

如果是这样,将变量传递给包含页面的最佳方法是什么?

我尝试过include(“page.php?var =”。$ var)

但实际上它似乎试图包含一个带有该字符串名称的文件。

么?

6 个答案:

答案 0 :(得分:0)

第一页中已在范围内的变量已在第二页中定义。

答案 1 :(得分:0)

最好在主页面中设置变量本身。 include尝试包含本地文件,而不是HTTP GET请求,但只是设置变量,您可以使用它们。

答案 2 :(得分:0)

如果您定义$var = 1,之后include("page.php");可以在该文件中访问变量 ,因为它只不过是您已经获得的扩展。

答案 3 :(得分:0)

这......“include(”page.php?var =“。$ var)”将无效

请尝试以下方法:

page1.php中

<?php

$dog_name = "scruff";

include("otherpage.php");

?>

otherpage.php

<?php

echo $dog_name;

?>

这将在page1.php上输出:

scruff

正如midnightlightning所说:“第一页中已经在范围内的变量已在第二页中定义。”

答案 4 :(得分:0)

如果在包含页面之前定义变量,则不需要任何查询字符串。您的变量将在包含的页面中使用名称进行访问。例如

$name = "Awais"
include("page.php");

然后在page.php

 echo $name; //will print Awais

答案 5 :(得分:0)

  

包含的页面是否接收主页中定义的变量?

是的,您包含的代码在同一范围内。这也是记录在案的行为,请参阅include

$var = 'value';
include('page.php'); # has $var defined now.
unset($var);
include('page.php'); # has $var undefined now.

正如您所看到的,没有必要重新定义它们。

但您可能想要将其分开,因为它有副作用,请参阅: