gpt4 book ai didi

php - 将变量从一个 php 包含文件传递到另一个 : global vs. 不

转载 作者:IT老高 更新时间:2023-10-28 11:59:03 25 4
gpt4 key购买 nike

我正在尝试将变量从一个包含文件传递到另一个。除非我在第二个包含文件中将变量声明为全局变量,否则这不起作用。但是,我不需要在调用第一个包含的文件中将其声明为全局。例如:


front.inc:

$name = 'james';

index.php:

include('front.inc');
echo $name;
include('end.inc');

输出:詹姆斯


end.inc:

echo $name;

输出:没有


如果我在 end.inc 中回显 $name 之前声明了全局 $name,那么它可以正常工作。这篇文章的公认答案解释说这取决于您的服务器配置:Passing variables in PHP from one file to another

我正在使用 Apache 服务器。我将如何配置它以便不需要将 $name 声明为全局?一种与另一种相比有优势/劣势吗?

最佳答案

父文件可以访问两个包含文件中的变量

在 PHP 中包含文件时,它就像代码存在于包含它们的文件中一样。想象一下,将每个包含文件中的代码直接复制并粘贴到 index.php 中。这就是 PHP 使用包含的方式。

因此,在您的示例中,由于您在 front.inc 文件中设置了一个名为 $name 的变量,然后将两个 front.inc end.inc 在您的 index.php 中,您将能够 echo 变量 $nameindex.phpfront.incinclude 之后的任何位置。同样,PHP 处理您的 index.php 就好像您包含的两个文件中的代码是该文件的 part

包含的文件无权访问其他包含的文件

当您将 echo 放置在包含文件中时,对于未在其内部定义的变量,您将不会得到结果,因为它与任何其他包含文件分开处理。

换句话说,要执行您期望的行为,您需要将其定义为全局。

关于php - 将变量从一个 php 包含文件传递到另一个 : global vs. 不,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4675932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com