ホームページ  >  記事  >  バックエンド開発  >  文字列内の変数を置換する方法

文字列内の変数を置換する方法

WBOY
WBOYオリジナル
2016-06-23 13:56:461417ブラウズ

文字列内の変数を置換したいとします。例えば:
$a = "12345";
echo "a=$a"; は、私が望む結果です。しかし、ここで問題が発生しました。文字列 a=$a をデータベースに保存してから、同じステートメントを出力すると、
上記の効果を実現したいかどうかを尋ねます。何をすべきでしょうか?


ディスカッションへの返信(解決策)

調べてみたら、php は二重引用符で囲まれた文字列でのみ解析を処理します。つまり、データベースから取り出したものは必ずしも文字列としてみなされませんよね。 ? ?


「a=.$a; PHP 変数

なぜ変数をデータベースに保存する必要があるのでしょうか?あなたの例は、フィールド値を 12345 として直接保存することは、 echo $a['a']; ではないことを示しています。より良い



なぜ変数をデータベースに保存する必要があるのでしょうか? この例では、a フィールドの値を 12345 として直接保存する方が良いことを示しています。データベースに保存するということは、適応プログラムを作成する必要があるということです。つまり、関数名とパラメータはデータベースに保存されており、使用するときにデータベースにアクセスするだけで取得できます。 func($b) という関数があり、$b は変数であり、この変数の値は "a=$a" です。これにより文字列が渡され、$a は変数として設定できます。任意の値に変更します。関数名 func をデータベースに保存し、パラメーター a=$a を使用すると、 fun("a=$a") に結合されます。私の問題は、文字列 a=$a をデータベースに書き込み、それを取り出すと、$a が変数であることを認識できず、それを変数として使用することです。

実装するには Eval を使用します。

$str = 12345;

eval("$s = "a=$str";");

echo $s;


を使用して実装します。

本当にありがとう、あなたは私を救ってくれた、お金は全部あげるよ!


$str = 12345;
eval("$s = "a=$str";");
echo $s;

よかったら 10 ポイントください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。