2016-04-05 23 views
0

どのように単語を結合するには文字列の1つの単語を置き換えるのですか?私はこれがあることで何を意味、私はそれが唯一の9です。最初の値を読んで、何か他のものが1文字の文字列を多くの文字に置き換えますPHPの文字列

<?php 

    $equation = 'sin(x)'; 
    $length = strlen($equation); 

    for($i=0; $i<$length; $i++) { 

     if($equation[$i] == 'x') { 

      $equation[$i] = substr_replace('x','90',$equation); 
      echo $equation.'<br>'; 
      calc($equation); 
     } 
    } 
?> 

に「x」を交換してみてくださいしかし、私は、例えば一つだけの数字を入れたときに

<?php 
    $equation = 'log(x)'; 
    $length = strlen($equation); 

    for($i=0; $i<$length; $i++) { 

     if($equation[$i] == 'x') { 

      $equation[$i] = substr_replace('x','1',$equation); 
      echo $equation.'<br>'; 
      calc($equation); 
     } 
    } 

?> 

他のコードを使用して方程式を受け取り評価することができます。そう、方法はありますか?

+0

ありがとうございます。それについては決して考えなかった。最初はstr_replaceを使っていましたが、ループのために動作しなかったとは決して考えませんでした。あなたの助けに感謝します。 –

答えて

1

手動で文字列をループしないでください。機能はそれを行うために作られています!

使用str_replace

<?php 
$equation = 'log(x)'; 

str_replace("x","90", $equation); 

echo $equation.'<br>'; 

calc($equation); 
?> 
1

こんにちはとのStackOverflowへようこそ。文字列をループする必要はありません。既存の関数は文字列の一部を置き換えます。

str_replace(search, replace, subject)

preg_replace(pattern, replacement, subject)

...ともっと。

$equation = 'sin(x)'; 
$equation = str_replace('(x)', '('.$yourValue.')', $equation); 

EDIT /注:私はちょうど「x」の代わりにはなりませんが、「(x)が」場合またはあなたが1のより多くを持っているあなたの場合

は、あなただけのそのような何かを行うことができますあなたの文字列にxを入れて、あなたの関数sinやlogなどのパラメータを置き換えたい場合は、より正確なものが必要な場合はpreg_replaceを使用してください。

+0

鮮やかです。私は実際にはユーザーが自分の価値を置くことを望んでいる。私は後で試してみるよ。 –

+0

問題が解決したら、この回答を受け入れてください。 :)。入力ユーザーからの価値を得るための助けが必要な場合は、他のトピックを開きます – Xenofexs

関連する問題