人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

twitter apiでphpのプログラムを作っています。
具体的には、https://api.twitter.com/1.1/followers/list.json を叩いてjsonを入手します。ところが、このapiは一度に20件しか読み込めず、それ以降はcursorに値を入れて再度叩く必要があります。そのため下記のような仕組をプログラムに追加いたしましたが、cursorの値を変更する(次ページを読みこむ)と配列($tameru_tutor)に値が上書きされてしまい、最後のページだけを読み込んでしまいます。上書きされないようにプログラムを作ったつもりなのですが、目的を達成できません。どなたか、ご教示いただけませんか?

$cursor = -1;
while($cursor != 0){

$vRequest_tutor = $twObj_tutor->OAuthRequest("https://api.twitter.com/1.1/followers/list.json","GET",array('screen_name' => 'XXXX','cursor' => $cursor,'skip_status' => 'true','include_user_entities' => 'false' ));

$temp = json_decode($vRequest_tutor,true);

if (isset($temp['next_cursor_str'])) {
$cursor = $temp['next_cursor_str'];

$tameru_tutor = array();
$tameru_tutor[] = $temp;
unset($temp);
} else {
$cursor = "0";
}

}//end of while

●質問者: ozaki
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● iwaim
●50ポイント

whileの中で「$tameru_tutor = array();」とやっているので、毎回初期化している感じですね。
whileの外に出してしまえばいいのでは?


ozakiさんのコメント
ご回答、ありがとうございます。具体的にはどんなプログラムになりますでしょうか?

質問者から

ご回答、ありがとうございます。具体的にはどんなプログラムになりますでしょうか?


2 ● tobeoscontinue
●150ポイント ベストアンサー
$cursor = -1;
$tameru_tutor = array();
while($cursor != 0){

 $vRequest_tutor = $twObj_tutor->OAuthRequest("https://api.twitter.com/1.1/followers/list.json","GET",array('screen_name' => 'XXXX','cursor' => $cursor,'skip_status' => 'true','include_user_entities' => 'false' ));

 $temp = json_decode($vRequest_tutor,true);

 if (isset($temp['next_cursor_str'])) {
 $cursor = $temp['next_cursor_str'];

 $tameru_tutor[] = $temp;
 unset($temp);
 } else {
 $cursor = "0";
 }
}//end of while

$tameru_tutorは二次元のような感じになりますので
foreach ($tameru_tutor as $temp) {
foreach ($temp["users"]) as $user) {
echo $user["name"];
}
}
或いは$temp["users"]だけでよいのであれば
$tameru_tutor[] = $temp;

$tameru_tutor = array_merge($tameru_tutor, $temp["users"]);
とすれば
foreach ($tameru_tutor as $user) {
echo $user["name"];
}
でアクセスできると思います。


ozakiさんのコメント
ありがとうございました。おかげ様で目的を達することができました!!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ