Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 包含的页面是否接收变量?_Php_Variables_Include_Scope - Fatal编程技术网

Php 包含的页面是否接收变量?

Php 包含的页面是否接收变量?,php,variables,include,scope,Php,Variables,Include,Scope,在脚本中,我根据变量选择要包含的页面 包含的页面是否接收主页中定义的变量?还是我必须重新定义它们 如果是这样,将变量传递到包含页面的最佳方式是什么 我尝试了include(“page.php?var=“.$var”) 但它似乎实际上试图包含具有该字符串名称的文件 建议?第一页中已在范围内的变量已在第二页中定义。最好在主页中设置变量本身include尝试包含本地文件,而不是HTTP GET请求,但只需设置变量即可使用它们。如果定义$var=1,然后再定义include(“page.php”)变量将

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

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

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

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

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


建议?

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

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

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

此。。。“include”(“page.php?var=“.$var)”不起作用

请尝试以下方法:

page1.php

<?php

$dog_name = "scruff";

include("otherpage.php");

?>

如前所述:“第一个页面中已经在作用域中的变量已经在第二个页面中定义了。”

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

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

 echo $name; //will print Awais
包含的页面是否接收主页中定义的变量

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

因此,正如您所看到的,没有必要对其进行重新罚款

但您可能希望将其分开,因为它有副作用,请参见:


请先阅读有关该功能的内容。您的所有问题都应涵盖:。如果您没有时间阅读,请注意可变范围。
$name = "Awais"
include("page.php");
 echo $name; //will print Awais
$var = 'value';
include('page.php'); # has $var defined now.
unset($var);
include('page.php'); # has $var undefined now.