Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP从MyMemory translation解析JSON?_Php_Json_Translation - Fatal编程技术网

如何使用PHP从MyMemory translation解析JSON?

如何使用PHP从MyMemory translation解析JSON?,php,json,translation,Php,Json,Translation,由于谷歌翻译API不再是免费的,我尝试从 例如,我的PHP页面 header("Cache-Control: no-cache"); header("Pragma: no-cache"); header('Content-type: application/json'); $_POST['value']=="Hello everybody"; // URI to get italian from english $translate_it=json_decode(file_get_content

由于谷歌翻译API不再是免费的,我尝试从

例如,我的PHP页面

header("Cache-Control: no-cache");
header("Pragma: no-cache");
header('Content-type: application/json');
$_POST['value']=="Hello everybody";
// URI to get italian from english
$translate_it=json_decode(file_get_contents("http://mymemory.translated.net/api/get?q=".$_POST['value']."&langpair=en|it"));
我不是一个对象开发人员,我不知道如何访问数据

我怎样才能从这个字段中得到“translation”字段?

由于您使用的是
echo
,因此出现错误

要查看内容,请尝试使用:

var_dump($translate_it);
使用新json变量的一种方法如下

$translate_it->responseData;
以下是一种翻译:

echo $translate_it->matches[0]->translation;
更新:

您可以使用for each循环匹配:

foreach ($translate_it->matches[0] as $obj){
   echo $obj->translation;
}
将返回一个对象-
stdClass
。第二个(可选)参数将使其返回数组。不管怎样,当它被解码时,它不仅仅是一个简单的字符串


print\r($translate\u it)
var\u dump($translate\u it)
将显示对象或数组的结构。

谢谢,但是如何获得转换?如何构建一条通往成功的道路$翻译它->应答数据['translation']@瓦尔基:看我的最后一行。您必须通过matches数组查看所需的数据。使用
var\u dump($translate\u it)
作为一个referencePerfect,我明白了。。。如何使用foreach()查看所有匹配项[]翻译?非常感谢,我已经检查了您的答案