如何替换字符串中的一个单词来结合单词。这是什么意思,我试图将'x'替换为其他东西
<?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);
}
}
?>
然而,它只读取第一个值为9.但是当我只放一个数字时,例如
<?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 :(得分:1)
你不应该手动循环字符串!功能是为了做到这一点!
使用str_replace:
<?php
$equation = 'log(x)';
str_replace("x","90", $equation);
echo $equation.'<br>';
calc($equation);
?>
答案 1 :(得分:1)
嗨,欢迎来到stackoverflow。你不需要循环你的字符串。现有函数替换字符串的一部分。
str_replace(search, replace, subject)
preg_replace(pattern, replacement, subject)
......等等。
在你的情况下,你可以做这样的事情:
$equation = 'sin(x)';
$equation = str_replace('(x)', '('.$yourValue.')', $equation);
编辑/注意:我不只是替换'x'而是'(x)'以防万一或者你的字符串中有一个x,并且你只想替换你的函数sin或log等的参数。 preg_replace如果您需要更高的准确度