str_replace()无效

时间:2017-12-17 17:22:11

标签: php str-replace

我第一次遇到这样的问题。 它有效;

echo translate(fonkfonk(str_replace(array("\n","\r","\t"),array("‌​","",""),file_get_co‌​ntents($cache))));

但这不起作用

input()

我在哪里犯错?

上次我会像这样使用它;

Benjamin

1 个答案:

答案 0 :(得分:1)

您的问题是,在调用时,您没有向您的函数提供$en$de的值。

$en = array("Mother", "Father");
$de = array("Mutter", "Vater");
function translate($google, $en, $de) {
    $s = str_replace($en,$de,$google);
    return $s;
}

echo translate(fonkfonk(.....)); // error because translate() does not know what
                                 // $en and $de are supposed to be

您只提供fonkfonk()函数的结果作为第一个参数($google)而不提供第二个和第三个参数。

您应该做的是在函数调用中提供$en$de的值,或者在定义函数时导入它们:

function translate($google, $en, $de) {
    $s = str_replace($en,$de,$google);
    return $s;
}

$en = array("Mother", "Father");
$de = array("Mutter", "Vater");
echo translate(fonkfonk(.....), $en, $de);

或者:

$en = array("Mother", "Father");
$de = array("Mutter", "Vater");
function translate($google) use ($en, $de) {
    $s = str_replace($en,$de,$google);
    return $s;
}

echo translate(fonkfonk(.....));