2012-10-15 9 views
0

나는이 문제에 대한 해결책을 찾지 못했지만 인터넷을 통해 연령대를 검색했습니다.Json을 배열 PHP로 가져 오기

$follow = $_GET['follow']; 
$following = $_GET['following']; 

session_start(); 

if(!empty($_SESSION['username'])){ 
$twitteroauth = new TwitterOAuth('MY PRIVATE CODE', 'MY PRIVATE CODE', $_SESSION['oauth_token'], $_SESSION['oauth_secret']); 
} 

$follow_timeline = $twitteroauth->get('followers/ids', array('screen_name' => $follow)); 
$following_timeline = $twitteroauth->get('friends/ids', array('screen_name' =>  $following)); 

if (in_array($following, $follow_timeline)) { 
echo "We found the word!"; 
} 

json 파일의 데이터입니다. 이것을 읽을 수도 있습니다. https://dev.twitter.com/docs/api/1/get/friends/ids & https://dev.twitter.com/docs/api/1/get/followers/ids. 위에 작성한 스크립트를 실행하면이 오류가 표시됩니다.

in_array() [function.in-array]: Wrong datatype for second argument in 

는 그리고 나는 if (in_array($following, $follow_timeline)) 전에 JSON 디코딩을 사용하여 생각하지만,이 오류를 표시합니다.

json_decode() expects parameter 1 to be string, object given in 

누군가 도와 줄 수 있습니까? PHP로 시작했는데 조금 혼란 스럽습니다.

+0

귀하의 문제가 완전히 명확하지 않습니다. 첫 번째 문제 : var'$ follow_timeline'의 내용은 무엇입니까? 두 번째 문제 : json_decode()를 어떻게 사용합니까? '$ follow_timeline'과 같이 보이면 올바르게 사용해야합니다. 배열이 아니며 문자열이 아닙니다. – Sven

답변

0

$following_timeline을 정의했지만 $follow_timeline을 사용해보십시오.

+0

둘 다 동일한 오류입니다. –

0

체크 아웃와 in_array에 대한 설명서() .... HTTP가 : //php.net/manual/en/function.in-array.php

두 번째 매개 변수 ($ follow_timeline) 배열해야한다 ... $ twitteroauth-> get() 메서드가 배열을 반환하는지 확인 하시겠습니까?

+0

그것은 json을 반환합니다. –

+0

웹 서비스에서 들어오는 json은 문자열이 될 것이므로 json_decode() 호출에서이를 감싸서 PHP 배열로 바꾸고 싶을 것입니다. 또한 json_decode에 두 번째 매개 변수로 true를 전달하여 객체가 아닌 배열로 만듭니다. 예 : json_decode ($ follow_timeline, true); –

+0

방금 ​​json 디코딩이 작동하지 않는다고 썼습니다. –