我想回显一串特定于页面的文本。当标签在页面上时,我没有遇到这个问题,但是当它在一个包含内的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? p>中获取$ StringData2
感谢您的帮助。
答案 0 :(得分:2)
doc州:
当包含文件时,它包含的代码会继承该变量 包含发生的行的范围。任何可用的变量 在调用文件中的那一行将在被调用的内容中可用 文件,从那时起。但是,所有功能和类 在包含文件中定义的具有全局范围。
还有:
如果include发生在调用文件中的函数内,那么 调用文件中包含的所有代码都将表现得像它一样 已在该功能内定义。所以,它将遵循变量 该职能的范围。此规则的一个例外是魔术常量 在包含发生之前由解析器评估。
您的示例是缩写还是您的确切代码?您显示的原始示例应该可以正常工作。
您的更新示例仍应有效。
抓我的最后一次编辑。我认为你真的需要提出一个简短的例子来重现相同的行为。
答案 1 :(得分:0)
试试这段代码:
<强> IncludeFile.php 强>
Echo "Test for Included StringData2: $StringData2";