2017-12-17 22 views
1

が動作しません。 これは動作します。str_replace()初めてこのような問題が発生したため、

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

しかし、これは私がミスをしない

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

動作しませんか?

最後にこのように使用します。

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

どのようにあなたが呼んでいます'translate()'関数ですか? – rickdenhaan

+0

'echo translate(fonkfonk(str_replace(配列\"、 "\ r"、 "\ t")、配列( ""、 ""、 ""));); – Ferida

+0

'$ google'の価値は何ですか?あなたの質問にその出力を追加してください。 –

答えて

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 

にのみ最初の引数($google)としてfonkfonk()関数の結果を提供し、第二および第三の引き数を提供していません。

何をすべきことはあなたの関数呼び出しで$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(.....)); 
関連する問題