<?php
$var1 = 'var2';
$var2 = 'nameOfVariable';
$nameOfVariable = 'The value I want!';
echo $$$var1;
?>
您也可以使用花括号
<?php
$var1 = 'nameOf';
$var2 = 'TheVariable';
$nameOfTheVariable = 'Another value I want!';
echo ${$var1 . $var2}; // Use concatenation to generate the variable name and then access it //
?>
<?php
function showFilledTemplate($vars)
{
foreach($vars as $varName => $value)
{
$$varName = $value;
}
include "Template.php";
}
$myVars = array("header"=>"I am the header", "content"=>"The content is here", "footer"=>"And finally the footer itself");
showFilledTemplate($myVars);
?>
// dynamic title
<div id="header"> I am the header <div/>
// dynamic content
<div id="content"> The content is here <div/>
// dynamic footer
<div id="footer"> And finally the footer itself <div/>
请注意,您也可以使用更多 $ 来做到这一点
您也可以使用花括号
请注意,您也可以使用更多 $ 来做到这一点
您也可以使用花括号
不
哇! 我以前甚至不知道这个。 可能将来会成为一项非常棒的资产。
怎样? ^
我想问一个问题,如何在文本之间显示变量。
例如,我有
“var1 = $_POST[‘username’];”
我想显示类似这样,
“Hello [username]”。
如何做到这一点?
我尝试过这个,但它不起作用,
“echo Hello $var1;”
请在这方面帮助我。
$var1=$_POST’username’];
echo “Hello [” . $var1 . “]”;
尝试这样
$var=$_POST[‘username’];
echo ‘Hello[‘.$var.’]’;
如果您需要从数组创建变量,则有两个选项。
第一个使用 php extract()
第二个选项将为您提供更多控制权,即 php list()
这真的是一种不好的做法,使用合适的代码,您不应该需要这种代码变异。
此外,不要直接输出 $_POST/$_GET 或 $_REQUEST 内容,而无需使用 htmlentities() 围绕它,因为您的站点可能容易受到跨站点脚本攻击和其他注入攻击。
嗯,我可能只是有点迟钝,但你能举个例子说明何时使用这种技术会很有用吗?
嘿,Chris!
就在昨天,我在 MVC 教程中发现了这一点。 那里有 “Template.php”,内容为 ……。
现在,如果您想填充此模板,您可以使用 ……
由 Template.php 调用的变量
$header
、$content
和$footer
由 foreach 循环提供。 当包含 Template.php 时,在 foreach 循环中“创建”的变量仍然可以访问,因此 HTML 输出为 ……虽然我认为这在某种程度上是“脏”代码,但这确实是使用变量变量的一个例子。
抱歉代码不好! 当然它是
</div>
而不是<div/>
,而且我在分配运算符 => 的 html 特殊实体方面搞砸了。我猜发布提示将所有小于号转换为 html 特殊实体仅适用于小于号。 我的错!
我不认为这段代码有任何用处。 在用 PhP 或任何其他语言编码时,您应该记住的一件事是,您的代码应该可以被其他人阅读。
当然,您的代码内容,即 var 的值,不应该被阅读。
但是,当使用这样的代码片段时,您会失去可读性。 所以,我同意 perpleXa 的观点,这是一种不好的做法。 对不起。