Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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_String_Include_Echo - Fatal编程技术网

Php 从包含中回显数据字符串

Php 从包含中回显数据字符串,php,string,include,echo,Php,String,Include,Echo,我想回显页面特定文本的字符串。当标签出现在页面上时,我对此没有问题,但是当它被放置在包含中时,我会遇到问题。例如: index.php <?php $StringData1 = "String of page specific text on page echoes."; include("IncludeHeader.php"); ?> <html> <head></head> <body> <p>Start Ech

我想回显页面特定文本的字符串。当标签出现在页面上时,我对此没有问题,但是当它被放置在包含中时,我会遇到问题。例如:

index.php

<?php

$StringData1 = "String of page specific text on page echoes.";
include("IncludeHeader.php");

?>
<html>

<head></head>
<body>

<p>Start Echo Test</p>
<p>Echo Test For StringData1:  <?php echo "$StringData1"; ?></p>
<p><?php include("IncludeFile.php");?></p>
<p>Stop Echo Test</p>

</body>
</html>
IncludeFile.php

Echo Test For Included StringData2:  <?php echo "$StringData2"; ?>
包含StringData2的回波测试: 运行index.php时,输出为:

<html>

<head></head>
<body>

<p>Start Echo Test</p>
<p>Echo Test For StringData1:  String of page specific text on page echoes.</p>
<p>Echo Test For Included StringData2:  </p>
<p>Stop Echo Test</p>

</body>
</html>

启动回波测试

StringData1的回显测试:页面回显上页面特定文本的字符串

包含StringData2的回波测试:

停止回波测试

从这个示例中,如何从include中获取要回显的$StringData2

谢谢您的帮助。

请尝试以下代码:

IncludeFile.php

  Echo "Test for Included StringData2:  $StringData2"; 
各国:

包含文件时,它包含的代码将继承该变量 包含发生的行的范围。任何可用的变量 在该行中,调用文件将在被调用的 文件,从那一点开始。但是,所有函数和类 包含文件中定义的具有全局范围

还认为:

如果包含发生在调用文件中的函数内,则 被调用文件中包含的所有代码的行为都将与 已在该函数中定义。因此,它将跟随变量 该职能的范围。这个规则的一个例外是魔法常数 在include发生之前由解析器对其进行评估

您的示例是缩写的还是您的确切代码?您的原始示例(如图所示)应该可以正常工作

您更新的示例应该仍然有效


抓取我的最后一次编辑。我认为你真的需要拿出一个简短的例子来重现同样的行为。

作为旁白:你不需要引用变量
echo$StringData2
工作正常。另请参阅,激活错误报告,并在看到任何错误时通知我们:
error\u reporting(E\u ALL);ini设置(“显示错误”,真)只需将代码的原始副本粘贴到其各自的文件中,一切都很好。我得到了两个输出,抱歉搞混了。为了简略起见,我把问题搞砸了。经过编辑,现在更准确了,这个例子被简化了。实际上,$StringData2是从数组中提取的$StringData[1]。数组是从一行csv字段构建的(说来话长,但不能使用SQL)。它包含在另一个包含中,将在全局范围内使用(和编辑)。
  Echo "Test for Included StringData2:  $StringData2";