-2

我将变量存储在 MySql 数据库中,并希望在其中回显字符串和变量。变量应该给出在 php 代码页中设置的值。

变量$MyVarr存储在 db as 中"This is $MyVarr",然后在字符串中回显。

$MyString = $rw['MyStoredVarr'];
echo $MyString;

但是,这不是返回 的值$MyVarr,而是返回整个字符串

"This is $MyVarr"

我该如何解决这个问题。

编辑::

我试过这样做,存储"This is {$MyVarr}"在数据库中,但仍然无法解析变量。

4

1 回答 1

0

仅仅因为来自某个地方的字符串包含一个美元后跟某个名称并不意味着它会被变量值替换为任何机会。那将是混乱!一些用户在您的 Web 表单中键入“$foo”,字符串通过您的系统,最后它被一个变量值替换?不,那是一场等待发生的灾难。

变量替换仅在使用源代码编写的字符串文字时发生,即:

$foo = 42;
$bar = "Hi, I'm $foo";

它不会在这里发生:

$foo = 42;
$bar = $_POST['bar'];  // Hi, I'm $foo

或其他任何地方。

如果存储在数据库中的字符串中有可变部分,则需要手动替换这些部分。例如:

$string = getFromDatabase(); // e.g.: "Hi, I'm %foo%"
$string = str_replace('%foo%', 42, $string);
于 2013-06-24T06:16:03.343 回答