我将变量存储在MySql数据库中,并希望回显字符串及其中的变量。 varriable应该给出php代码页中设置的值。
变量$MyVarr
作为"This is $MyVarr"
存储在db中,然后以字符串形式回显。
$MyString = $rw['MyStoredVarr'];
echo $MyString;
但是,这不会返回$MyVarr
的值,而是返回整个字符串
"This is $MyVarr"
如何解决这个问题。
EDIT ::
我试过这样做,将"This is {$MyVarr}"
存储在数据库中,但仍无法解析该变量。
答案 0 :(得分:0)
仅仅因为来自某个地方的字符串包含一个美元后跟一些名称并不意味着它将被变量值替换它的任何机会。那会很混乱!有些用户在你的网络表单中键入“$ foo”,字符串通过你的系统,最后它被一个变量值代替?不,这是一场等待发生的灾难。
变量替换仅在使用源代码编写的字符串文字时发生,即:
$foo = 42;
$bar = "Hi, I'm $foo";
这里不会发生:
$foo = 42;
$bar = $_POST['bar']; // Hi, I'm $foo
或其他任何地方。
如果数据库中存储的字符串中包含可变部分,则需要手动替换这些部分。 E.g:
$string = getFromDatabase(); // e.g.: "Hi, I'm %foo%"
$string = str_replace('%foo%', 42, $string);