0

我在我的 mysql 数据库中有以下“语句”字段的值:在 $month 的 $x 天

然后,当我从数据库中取出它时,我希望能够定义变量,然后用被插值的变量回显语句。像这样:

$x = '4th';
$month = 'july';
// query and fetch..
$sentence = $result['statement'];
echo $sentence;  // I want this to read 'on the 4th day of july'

问题是我得到的只是'在$月份的$ x天'。

我试过在事物周围加上引号和双引号,但就是不知道该怎么做。

4

1 回答 1

0

如果我理解正确,您想将变量名放入数据库吗?你有两个选择:

又丑又脏

保存到数据库:'Something on'.$x.' '.$month.' 的日期 会发生';

调用它: echo eval($sentence);

Eval 将执行您将提供的所有内容,因此非常不安全。

不错,更安全:

保存到数据库:在 %s 的 %s 天会发生一些事情

调用它: echo sprintf($sentence, $x, $month);

sprintf将为您格式化字符串和“验证”变量。例如,如果您将 %d 放在句子中,那么sprintf将需要一个整数。

于 2013-10-25T05:33:07.623 回答