这是我的疑问:
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
$city= $details->city;
给出结果:
{
"ip": "210.56.147.31",
"hostname": "No Hostname",
"city": null,
"region": null,
"country": "IN",
"loc": "20.0000,77.0000",
"org": "AS45774 Chandra Net Pvt. Limited, India"
}
我可以通过$loc= $details->loc;
结果为loc is : 20.0000,77.0000
echo "loc is : $loc"
我希望在$long
和$latt
中分别获得经度和格度。怎么办?两个值如何分开获取?
$loc= $details->loc[0]; //this is not correct
答案 0 :(得分:1)
尝试使用explode()
拆分值。你可以找到详细信息here
$loc = $details->loc;
$latLong = explode(",",$loc);
$longitude = $latLong[0];
$lattitude = $latLong[1];
答案 1 :(得分:1)
只需展开,
上的值。
示例
$long = explode(',', $loc)[0];
$lat = explode(',', $loc)[1];
请注意,这仅适用于更高版本的PHP。如果你使用旧版本的PHP,你需要在引用它的元素之前将数组赋值给变量,如下所示:
$location = explode(',',$loc);
$lat = $location[0];
$long = $location[1];
答案 2 :(得分:0)
您可以使用explode
分割字符串,list
可以同时分配两个变量:
list($lat, $lon) = explode(",", $loc);