これを行う最も近い方法は、参照を使用することですが、それでは、コードが汚く、保守不可能で、エラーが発生しやすい地雷原になります。参照が危険な理由がわからない場合は、これをお読みください
。
$year = null;
$menu = array('View archives for ', &$year);//pass reference to $year
$year = '2013';
echo implode('', $menu);
ご覧のとおり、参照を渡す前に変数を定義する必要があります (当たり前ですが、存在しようとしているものを参照することはできず、存在するものだけを参照することはできません)。
それが完了したら、気まぐれな任意の値を に割り当てることができ、変数を参照するだけなので$year
、配列の 2 番目の値が自動的に続きます。$menu
$year
それでも、あなたの質問のスニペットがあなたがやろうとしているすべてであるなら、なぜ使用しないのsprintf
ですか?
$menu = 'View archives for %s';
//some code
$year = '2013';
$menu = sprintf($menu, $year);
echo $menu;//sure enough: View archives for 2013
追加のボーナスとして、これをループで何度も使用できます。
$format = 'View archives for %s';
for ($i=2010;$i<2014;++$i)
{
printf($format, $i);
echo '<br/>';
}
これは以下を出力します:
View archives for 2010
View archives for 2011
View archives for 2012
View archives for 2013
および関連する関数のマニュアルを読んだらprintf
、簡単です。