文字列
内の文字の置換
[3]/([2]*[2])
where [3] [2] 変数 $ に対応e3 と $e2 は、それぞれ私のシステムの 3 番と 2 番です
プログラム
$e3/($e2*$ e2) を通じて、上記の式を次の文字列に変換したいと考えています)
このようにして、eval を使用して計算できます。
この変換を達成するにはどうすればよいですか?何か方法はありますか?
-----解決策---------
$str='[3]/([2]*[2])';
for($i=1;$i<=100;$i++){
$ str=str_replace('['.$i.']', '$e'.$i, $str);
}
echo $str;
?>
------解決策---------
$str = '[3]/([2]*[2])'; エコー procnum($str); 関数 procnum($str){ //$i = 0; while (preg_match('/([d+])/',$str)){ $str = preg_replace('/[(d+)]/',"$e$1",$str,1); // if($i++>100) ブレーク; } $str を返します。 <div class="clear"></div>