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'

問題は、「$month の $x 日」ということだけです。

物事を引用符と二重引用符で囲んでみましたが、これを行う方法がわかりません。

4

1 に答える 1

0

あなたが正しいと理解したら、変数名をデータベースに入れたいですか?次の 2 つのオプションがあります。

醜くて汚い

データベースに保存: 'Something on'.$x.' 「.$month.」の日 起こります';

それを呼び出すには: echo eval($sentence);

Eval は指定したものをすべて実行するため、非常に安全ではありません。

より安全に:

データベースに保存: %s の %s 日に何かが起こります

それを呼び出すには: echo sprintf($sentence, $x, $month);

sprintfは文字列をフォーマットし、変数を「検証」します。たとえば、文に %d を入れる場合、sprintfはそこに整数を求めます。

于 2013-10-25T05:33:07.623 に答える