2014-01-26 5 views
0

결과 구분이 내 쿼리입니다 :과정은 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를 얻을 수 있습니다 : echo "loc is : $loc"

에 대한 loc is : 20.0000,77.0000 : 결과를 제공 $loc= $details->loc;

경도와 lattitu를 가져오고 싶습니다. 드 $long$latt. 어떻게 할 수 있었 니? 두 값을 어떻게 분리 할 수 ​​있습니까?

$loc= $details->loc[0]; //this is not correct 
+1

일반적으로 문자를 기준으로 문자열을 어떻게 분할합니까? – PeeHaa

답변

1

explode()을 사용하여 값을 분할 해보십시오. 당신은 그냥 ,에 값을 폭발 자세한

$loc = $details->loc; 
$latLong = explode(",",$loc); 
$longitude = $latLong[0]; 
$lattitude = $latLong[1]; 
1

here을 찾을 수 있습니다. 이것은 단지 PHP의 이후 버전의 작동합니다

$long = explode(',', $loc)[0]; 
$lat = explode(',', $loc)[1]; 

참고. 당신이 PHP의 이전 버전을 사용하는 경우, 당신은과 같이, 그것의 요소를 참조하기 전에 변수에 배열을 할당해야합니다 님의

$location = explode(',',$loc); 

$lat = $location[0]; 
$long = $location[1]; 
0

당신은 문자열을 분할 explode을 사용할 수 있으며, list 동시에 두 변수를 할당하십시오.

관련 문제