Php 谷歌翻译返回奇怪的字符串?

Php 谷歌翻译返回奇怪的字符串?,php,google-translate,Php,Google Translate,所以我试图从谷歌那里得到一个字符串,但正如你们所看到的那个样被翻译了 函数翻译($fromLang、$toLang、$text){ $text=文件\u获取\u内容( "https://translate.googleapis.com/translate_a/single?client=gtx&sl=" 弗洛姆朗。 “&tl=”。 $toLang.“&dt=t&q=”.$text); 返回$text; } 但是如果参数设置为 打印(翻译(“en”、“es”、“Hello”); [[“Hola

所以我试图从谷歌那里得到一个字符串,但正如你们所看到的那个样被翻译了

函数翻译($fromLang、$toLang、$text){
$text=文件\u获取\u内容(
"https://translate.googleapis.com/translate_a/single?client=gtx&sl="
弗洛姆朗。
“&tl=”。
$toLang.“&dt=t&q=”.$text);
返回$text;
}
但是如果参数设置为

打印(翻译(“en”、“es”、“Hello”);
[[“Hola”,“Hello”,null,null,1]],null,“en”]

根据关于个人使用而不支付企业费用的“零散”且糟糕的文档,这应该是可行的

您需要使用然后返回阵列的第三级

function Translate($fromLang,$toLang,$text){
    $texts = file_get_contents("https://translate.googleapis.com/translate_a/single?client=gtx&sl=" . $fromLang . "&tl=" .  $toLang . "&dt=t&q=" . $text);
    $array = json_decode($texts, TRUE);
    return $array[0][0][0];
}
返回的JSON是中的两个级别,转换后的值是该级别的第一个值。因此,您需要
[0][0]
获得正确的级别,然后
[0]
获得值

如果您不确定要访问什么,您可以始终在
$array
值的
Translate
功能中使用
print\r
,查看它包含的内容。

您需要使用,然后返回数组的第三级

function Translate($fromLang,$toLang,$text){
    $texts = file_get_contents("https://translate.googleapis.com/translate_a/single?client=gtx&sl=" . $fromLang . "&tl=" .  $toLang . "&dt=t&q=" . $text);
    $array = json_decode($texts, TRUE);
    return $array[0][0][0];
}
返回的JSON是中的两个级别,转换后的值是该级别的第一个值。因此,您需要
[0][0]
获得正确的级别,然后
[0]
获得值


如果您不确定要访问什么,您可以始终在
$array
值的
Translate
函数中使用
print\r
,查看它包含的内容。

是的,我不确定它看起来像什么,它是一个数组,我想我在某处看到它是json,我只是不知道我需要用它做什么这是一个数组我想我在某处看到了它是json我只是不知道我需要用它做什么主要是$array[0][0][0]也许把它添加到你对未来访问者的回答中:)主要是$array[0][0][0]也许把它添加到你对未来访问者的回答中:)