文字列内の変数値を動的に変更する方法はありますか?文字列内の動的変数
は私がしようと試みているもの:
$World= "World";
$world = &$World;
$tmp = "Hello ".$world." ====";
$World= "Tada!";
echo $tmp;
それはエコー何:Hello World ====
私はそれをエコーしたいもの:
文字列内の変数値を動的に変更する方法はありますか?文字列内の動的変数
は私がしようと試みているもの:
$World= "World";
$world = &$World;
$tmp = "Hello ".$world." ====";
$World= "Tada!";
echo $tmp;
それはエコー何:Hello World ====
私はそれをエコーしたいもの:
Hello Tada! ====
が動的に文字列の内部変数の値を変更する方法があります?
号
これ以上この行が実行されてしまった後に、「文字列の内部変数」が、ちょうど通常の文字列はありません。
あなたの代わりに変数
$tmp = "Hello %s ====";
$World = "World";
echo sprintf($tmp,$World);
$World = "Tada!";
echo sprintf($tmp,$World);
それとも、あなたがeval()
を使用することができますstr_replace
$tml = "Hellow world!!!"
echo (str_replace("world","TADA",$tmp));
絶対方法ではありません。 –
こんにちは、私の返事に遅れて申し訳ありませんが、ここに問題があります。もし私が '世界からのこんにちは世界! 'を取得すれば、それは' TADAからのHello TADA'になるでしょう。 –
を使用することを補間するいくつかのプレースホルダを使用することがあります。
$tmp = '$tmp = "Hello $world";';
$World= "Tada!";
eval($tmp);
echo $tmp;
こんにちは、あなたの答えはうまくいくでしょう。しかしevalを使うことは本当に悪いことです。セキュリティ問題の多く。 –
私が「何を求めることができます最終的に達成しようとしていますか? –
愚かな間違いを修正する...(KISSバージョン)私はhtmlのパターンをエコーする関数を持っていて、それを動的に変更したいとしますが、関数内でもブロック内でもブロックを移動することはできません。 –
@Charles:だから、いくつかのテンプレートシステムが必要です。 –