【问题标题】:PHP Passing variables between two filesPHP在两个文件之间传递变量
【发布时间】:2013-10-14 05:22:36
【问题描述】:

我有一段代码:

foreach (glob('mov/$context.mov') as $filename){ 
    $theData = file_get_contents($filename) or die("Unable to retrieve file data");
}

这是在该 glob 中添加变量的正确方法吗? $上下文

另外,在我的新文件中,我想用 $context 替换一个单词,所以我会写

$context = "word"; // so it adds that word to the glob function when the script is included in a different file.

【问题讨论】:

  • 如果要使用glob 中的变量值,请使用双引号而不是单引号。
  • @bwoebi: Is that the correct way to add a variable within that glob? $context -- 你错过了这部分吗?

标签: php variables include


【解决方案1】:

PHP 变量不插在单引号内。使用双引号或将变量放在引号外

foreach (glob("mov/$context.mov") as $filename){ 

foreach (glob('mov/'.$context.'.mov') as $filename){ 

如果您在 foreach 之前执行 $context = "word";,则 glob 将查找 mov/word.mov

Reference

【讨论】:

  • 我想把 $context ="word";在另一个文件中,因此当我包含运行 foreach (glob(... ('test.php') // 有 foreach (glob('mov/'.$context.'.mov') as $filename) 然后调用 $context ="word" 的脚本;它不起作用. 对此有什么想法吗?
  • 应该可以,能把两个文件的相关代码贴出来吗?
【解决方案2】:

您应该在glob 函数的第一个参数中使用双引号。

glob("mov/$context.mov")

或者,如果需要,使用括号

glob("mov/{$context}.mov")

这样变量名将被替换为值。

编辑:
对于另一个问题:
具有glob 函数的脚本可以在包含脚本之前多次执行更改$context 变量的值。 示例:

$context = "word";
include("test.php");

$context = "foo";
include("test.php");

【讨论】:

  • 如何替换文件之间的值。如果我将此脚本包含在单独的 php 文件中?我想用一个单词替换 $context,但是有 $context="word";在包含脚本的文件中。
  • 只是改变变量$context的值?目前尚不清楚您要实现的目标...执行脚本时有什么问题?
  • 对不起,让我试着解释一下。使用'foreach'的php脚本被标记为test.php - 我想将该文件包含在另一个标记为movies.php的php脚本中,在movies.php中我只想说$context =“word”;因此它将替换 test.php 中的变量 $context 并按计划工作。基本上,有一个我可以编辑的主脚本,它包含在几个脚本中,每个脚本都用不同的单词替换 $context,这样文件名就可以在它命名的任何文件上运行。 @Matteo
  • 好的,但问题出在哪里?你正在做这样的事情,对吧? $context = 'word'; include('test.php');。然后,您可以在每次包含需要该变量的脚本时更改 $context
  • 我想通了。感谢您的帮助@Matteo,您肯定为我指明了正确的方向。我忘记将变量放在我单独的 php 文件中的 include 之前。它现在运行良好。
【解决方案3】:

您可以使用以下任一方式-

1.glob("mov/$context.mov")

2.glob("mov/".$context.".mov")

注意与双引号语法不同,特殊字符的变量和转义序列在出现在单引号字符串中时不会被扩展。强>

供参考:Read More Here

【讨论】:

  • 请告诉我这与此处发布的其他两个答案有何不同?
  • 我的答案有一个支持链接。
  • 我不是有意冒犯你,但this 回答也链接到文档。无论如何 +1。
猜你喜欢
  • 1970-01-01
  • 2013-08-17
  • 2016-06-23
  • 1970-01-01
  • 1970-01-01
  • 2023-01-19
  • 2019-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多