2012-05-12 7 views
0
$url = "https://graph.facebook.com/fql?q=SELECT%20uid2%20FROM%20friend%20WHERE%20uid1=me()&access_token=sadfasdf"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); 
$string = curl_exec($ch); // grab URL and pass it to the browser 
echo $string; 
curl_close($ch); 

지금 바로 echo $string은 일반 텍스트로 표시된 전체 데이터를 출력합니다.PHP : JSON 문자열에서 특정 데이터 가져 오기

{ "data": [ 
    { "uid2": "91298391" }, 
    { "uid2": "00291509" }, 
    { "uid2": "101927261" } 
]} 

어떻게 JSON과 유사한 특정 데이터를 가져올 수 있습니까? 이 경우 모든 이드를 움켜 잡을 수 있기를 바랍니다. 나는 내가 preg_match을 사용할 것 같은 느낌이 들지만 나는 곤두박질 친다.

답변

1

php에는 json 문자열을 배열로 바꾸는 기능이 내장되어 있습니다.

json_decode

두 번째 매개 변수는 다시 대신 개체의 ASSOC 배열을 당신을 줄 수 있습니다. 그럼 그냥 값을 잡아 :

$ids = array_values(json_decode($string, true)); 
+0

특정 ID를 움켜 잡기 위해 어떻게 '$ ids'를 조작 할 수 있습니까? – Aaron

+0

'print_r ($ ids)'을 사용해보십시오. 이 경우,'$ ids [1] [ 'uid2']'는 두번째 항목을 얻는다. –

관련 문제