当前位置:  开发笔记 > 编程语言 > 正文

为什么这个json解码打印到屏幕?

如何解决《为什么这个json解码打印到屏幕?》经验,为你挑选了1个好方法。

这段PHP发生了一些非常奇怪的事情.它不是填充$ country变量,而是将整个json打印到浏览器窗口.我不明白为什么这样做.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://ipinfo.io/".$this_ip."/json");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36");
$headers = array();
$headers[] = 'Referer: http://www.example.com';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$json = curl_exec ($ch);
curl_close ($ch);

 $decode = json_decode($json,true);
 $country = $decode[country];

这是它吐出的整个错误:

{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.3860,-122.0838",
  "org": "AS15169 Google Inc.",
  "postal": "94040"
}
Notice: Trying to get property of non-object in /var/www/html/example.php on line 59

另外,为什么我得到这个非对象错误?



1> Gumma Moccia..:

添加curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);你的卷曲

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有