所以在我的php文件中,我有多套开启和关闭的php标签。它基本上看起来像这样:
<input id="myID" type="text" value="<?php
$value="x";
echo $value;
?>">
<input id="yourID" type="text" value="<?php echo $someValue; ?>"
有没有在第二组php括号中引用$value
?我尝试使用GLOBAL['index']来引用$value
,但是我得到了一个未定义的索引错误。
感谢任何帮助或指导。
答案 0 :(得分:3)
只需使用echo $value
。
变量上下文不会因为您重新打开PHP标记而改变。 <?php
和?>
只是解析器的标志,与您的代码在其中的作用无关。
由于您刚开始使用,我还建议您查看Smarty等模板引擎。这将帮助您将应用程序逻辑与输出分开。此外,请务必在HTML上下文中使用任意数据htmlspecialchars()
,以确保转义保留字符,并且不创建任何XSS攻击点。
答案 1 :(得分:2)
PHP的变量范围是功能级别。关闭<?php ... ?>
代码块并不会改变您的范围级别。
e.g。
<html>
<?php $x = 'foo'; ?>
<body>
<?php echo $x; ?>
会按预期输出foo
。如果你使用的是函数,那么它就是另一回事了:
function foo() {
$x = 'foo';
}
foo();
echo $x; // undefined variable
无论你使用多少/ <?php ... ?>
个代码块,这都不会改变。