回应包含内的一串数据

时间:2012-03-20 05:33:55

标签: php string include echo

我想回显一串特定于页面的文本。当标签在页面上时,我没有遇到这个问题,但是当它在一个包含内的placd时我遇到了问题。例如:

的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>

IncludeHeader.php

// Many Global Variables called from various CSV Files.  To be exact $StrindData2 is actually $StringData2[1] from an array.  The array is of a row of CSV fields
$StringData2 = "String of page specific text in include won't echo.";

IncludeFile.php

Echo Test For Included StringData2:  <?php echo "$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>

从这个例子中,我如何从include?中获取$ StringData2

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

doc州:

  

当包含文件时,它包含的代码会继承该变量   包含发生的行的范围。任何可用的变量   在调用文件中的那一行将在被调用的内容中可用   文件,从那时起。但是,所有功能和类   在包含文件中定义的具有全局范围。

还有:

  

如果include发生在调用文件中的函数内,那么   调用文件中包含的所有代码都将表现得像它一样   已在该功能内定义。所以,它将遵循变量   该职能的范围。此规则的一个例外是魔术常量   在包含发生之前由解析器评估。

您的示例是缩写还是您的确切代码?您显示的原始示例应该可以正常工作。

您的更新示例仍应有效。

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

答案 1 :(得分:0)

试试这段代码:

<强> IncludeFile.php

  Echo "Test for Included StringData2:  $StringData2";