0

Google Translate APIはもう無料ではないので、http://mymemory.translated.net/doc/spec.phpから翻訳を取得しようとしています。

たとえば私の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」フィールドのみを取得するにはどうすればよいですか? http://mymemory.translated.net/api/get?q=Hello%20everybody&langpair=en|it

4

2 に答える 2

2

を使用しているため、エラーが発生しますecho

コンテンツを表示するには、次を使用してみてください:

var_dump($translate_it);

新しいjson変数を使用する1つの方法は、次のようになります。

$translate_it->responseData;

これが1つの翻訳です:

echo $translate_it->matches[0]->translation;

アップデート:

for eachを使用して、一致をループできます。

foreach ($translate_it->matches[0] as $obj){
   echo $obj->translation;
}
于 2012-04-16T16:56:11.613 に答える
0

json_decodeはそうしますが、デフォルトではオブジェクトを返します- stdClass。2番目の(オプションの)パラメーターは、配列を返します。いずれにせよ、デコードされたときの単なる文字列ではありません。

print_r($translate_it)、またはvar_dump($translate_it)オブジェクトまたは配列の構造を表示します。

于 2012-04-16T16:58:57.193 に答える