在php中将一个char字符串替换为多个chars字符串

时间:2016-04-05 08:44:11

标签: php string math replace

如何替换字符串中的一个单词来结合单词。这是什么意思,我试图将'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);
        }
    }

?>

它可以使用其他一些代码接收和评估等式。那么,有办法吗?

2 个答案:

答案 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如果您需要更高的准确度