$html = '<html><body>$DATA</body></html>';
$DATA = "<h1>Hi</h1>";
eval("\$html = \"$html\";");
echo $html;
上面的代码将正确解析$ DATA的变量。而
$html = '<html><body>$DATA</body></html>';
$DATA = "<h1>Hi</h1>";
$html = "$html";
echo $html;
这段代码不会。为什么?这两者有什么区别?
eval("\$html = \"$html\";");
不等于$html = "$html";
吗?
为什么第一个有效,而另一个没有?
如上面的例子所示; $DATA
是{并且必须在$html
之后定义。就是这样:)。在其他情况下,我甚至不会有任何问题和麻烦。
但它是......为什么第一个有效,而第二个没有。如何使第二个工作?但主要是为什么它实际上不起作用。