用逗号分隔的json结果进程

时间:2014-01-26 17:16:34

标签: php json

这是我的疑问:

$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

3 个答案:

答案 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);