ホームページ >バックエンド開発 >PHPチュートリアル >「名前」「場所」「住所」のみをローカルテキストに出力する方法
$url = 'http://api.map.baidu.com/place/v2/search?&query=%E9%93%B6%E8%A1%8C&location=39.915,116.404&radius=2000&output= json&ak=kvfo779F6gthGiGq4DFnOGHn';
$html = file_get_contents($html);
file_put_contents('a1.txt',$html);これで、すべての情報をローカル txt に出力することしかできなくなりました。どの 3 つの情報をローカル テキストに出力するかを決定する方法がわかりません。指導を求めています
ディスカッションへの返信(解決策)
$url = 'http://api.map.baidu.com/place/v2/search?&query=%E9%93%B6%E8%A1%8C&location=39.915,116.404&radius=2000&output=json&ak=kvfo779F6gthGiGq4DFnOGHn';$html = file_get_contents($url);$json = json_decode($html, 1);$d = array('name' => '', 'location' => '', 'address' => '');foreach($json['results'] as $t) { $res[] = array_intersect_key($t, $d);}file_put_contents('a1.txt', json_encode($res));
$url = 'http://api.map.baidu.com/place/v2/search?&query=%E9%93%B6%E8%A1%8C&location=39.915,116.404&radius=2000&output=json&ak=kvfo779F6gthGiGq4DFnOGHn';$html = file_get_contents($url);$json = json_decode($html, 1);$d = array('name' => '', 'location' => '', 'address' => '');foreach($json['results'] as $t) { $res[] = array_intersect_key($t, $d);}file_put_contents('a1.txt', json_encode($res));
+1
マスター、ありがとうございました!しかし、なぜ私は意味不明な内容を大量に出力するのでしょうか? [{"名前":"u4e2du56fdu5de5u5546u94f6u884c(u548cu5e73u95e8u5185u652fu884c)","場所":{"緯度":39.90742,"長さ":116.390732},"住所":"u5317u4eacu5e02u89 7fu57ceu533au5317u65b0u534eu8857u4e1cu677eu6811u80e1u540cu753231u53f7"},{"名前":"u4e2du56fdu5de5u5546u94f6u884c(u4e1cu4ea4u6c11u5df7u50a8) u84c4u6240) ","場所"。 。 。 。 。
$url = 'http://api.map.baidu.com/place/v2/search?&query=%E9%93%B6%E8%A1%8C&location=39.915,116.404&radius=2000&output=json&ak=kvfo779F6gthGiGq4DFnOGHn';$html = file_get_contents($url);$json = json_decode($html, 1);$d = array('name' => '', 'location' => '', 'address' => '');foreach($json['results'] as $t) { $res[] = array_intersect_key($t, $d);}file_put_contents('a1.txt', json_encode($res));
神様、ありがとうございます!しかし、なぜ私は意味不明な内容を大量に出力するのでしょうか? [{"名前":"u4e2du56fdu5de5u5546u94f6u884c(u548cu5e73u95e8u5185u652fu884c)","場所":{"緯度":39.90742,"長さ":116.390732},"住所":"u5317u4eacu5e02u89 7fu57ceu533au5317u65b0u534eu8857u4e1cu677eu6811u80e1u540cu753231u53f7"},{"名前":"u4e2du56fdu5de5u5546u94f6u884c(u4e1cu4ea4u6c11u5df7u50a8) u84c4u6240) ","場所"。 。 。 。 。
処理
function foo(&$v) { $v = urlencode($v); }array_walk_recursive($res, 'foo');echo urldecode(json_encode($res));
function foo(&$v) { $v = urlencode($v); }array_walk_recursive($res, 'foo');echo urldecode(json_encode($res));
Web ページ上のページが正しく表示されるようになりました。しかし、テキストは依然として文字化けしています。
[{"名前":"%E4%B8%AD%E5%9B%BD%E5%B7%A5%E5%95%86%E9%93%B6%E8%A1%8C%28%E5%92 %8C%E5%B9%B3%E9%97%A8%E5%86%85%E6%94%AF%E8%A1%8C%29","場所":{"緯度":"39.90742"," lng":"116.390732"},"アドレス":"%E5%8C%97%E4%BA%AC%E5%B8%82%E8%A5%BF%E5%9F%8E%E5%8C%BA% E5%8C%97%E6%96%B0%E5%8D%8E%E8%A1%97%E4%B8%9C%E6%9D%BE%E6%A0%91%E8%83%A1%E5% 90%8C%E7%94%B231%E5%8F%B7"},{"名前":"%E4%B8%AD%E5%9B%BD%E5%B7%A5%E5%95%86%E9 %93%B6%E8%A1%8C%28%E4%B8%9C%E4%BA%A4%E6%B0%91%E5%B7%B7%E5%82%A8%E8%93%84%E6 %89%80%29","location":{"lat":"39.908091","lng":"116.413558"},"
function foo(&$v) { $v = urlencode($v); }array_walk_recursive($res, 'foo');$t = urldecode(json_encode($res));file_put_contents('a1.txt', $t);
echoの結果保存してませんか
function foo(&$v) { $v = urlencode($v); }array_walk_recursive($res, 'foo');$t = urldecode(json_encode($res));file_put_contents('a1.txt', json_encode($t));
正直、適応できない人はプログラマーに向いてない
って言ってましたね。この方法を試しました! 文字化けを回避する他の方法も試しました! 私は PHP を初めて使用するので、よくわかりません
それは、上のものにもう 1 つ json_encode があります
正直に言うと、適応できない人はプログラマーに向いてない
ありがとう!コードは問題ないはずですが、ファイル設定のエンコードに何か問題があると思います。でも本当にありがとうございました!