替换和解析PHP字符串中的变量的Eval

时间:2018-05-08 16:48:11

标签: php eval

$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之后定义。就是这样:)。在其他情况下,我甚至不会有任何问题和麻烦。

但它是......为什么第一个有效,而第二个没有。如何使第二个工作?但主要是为什么它实际上不起作用。

0 个答案:

没有答案