【问题标题】:Is there a way to use a variable from another file in a php include?有没有办法在 php 包含中使用另一个文件中的变量?
【发布时间】:2023-03-08 13:21:01
【问题描述】:

所以基本上我有一个文件,比如说file1.php,它包括另一个file2.php

file1.php 包含一个名为$dateString 的变量,我已经对其执行了一些操作。

file2.php 也有一个名为 $dateString 的相同变量,但是即使在包含 file2.php 之前初始化了 $dateString,此包含文件中也没有引用此变量。

所以这就是file1.php 目前的样子:

$dateString = 'some expression';

include 'file2.php';

file2.php 基本上是在尝试回显在file1.php 中初始化的变量

echo $dateString;

file2.php 中的所有其他内容都被正确调用,除了一个变量。

希望这是有道理的。这在PHP中可能吗?我在其他地方读过你需要使变量成为全局变量,而其他人已经提到你如何不能从子文件中的父文件引用变量..有什么想法吗?提前致谢!

【问题讨论】:

  • 为什么不自己试试呢?你有 PHP 和变量和包含等。你尝试它不会有任何不好的事情发生;)
  • 这应该可以正常工作。当 PHP 包含一个文件时,它会有效地将包含文件中的代码粘贴到调用文件中,因此包含文件可以访问调用它的变量。如果它在函数内部被访问,您只需要将其设为全局变量。
  • 我试过了。我已经尝试了一百万种不同的方法,这就是为什么我要问我是否在概念方面或缺乏知识方面可能缺少某些东西

标签: php string file include


【解决方案1】:

当您使用 PHP 的 include() 时,没有什么神奇的事情发生。包含文件的代码基本上只是插入到您包含它的位置 - 导致一个更大的 PHP 文件。
“父”文件还是“子”文件并不重要——重要的是位置,因为 PHP 会从上到下解析单个结果文件。

例如:如果您在包含文件 B 之前在文件 A 中设置了变量,则文件 B 将知道该变量。但是如果在包含文件 B 之后在文件 A 中设置变量 - 文件 B 不知道它。

【讨论】:

    【解决方案2】:

    对于编码,在询问其他人之前,您应该始终尝试测试自己的东西,就像 @bub 在 cmets 中建议的那样。

    变量几乎是全局的,您可以在 file2.php 中包含另一个文件并使用 file1.php 中的变量。

    否则,如果您在函数中使用它们,我建议使用:

    global $var;
    

    以上内容只能在函数中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 2017-01-29
      • 1970-01-01
      • 2015-06-14
      相关资源
      最近更新 更多