複数のツイート検索結果を結合して投稿日時順に並びかえる(Search/Tweets API)

GET/Search/Tweetsを使用し、複数の検索結果(『りんご 食べたい』『バナナ 調理法』のそれぞれの検索結果)を合体し、id_str(投稿日時)順に並び替えてみました。
ようは多次元配列と多次元配列をたし、特定のキーでソートするということです。

<?php
//念のため
$result = array();
$result2 = array();
$sort = array();
$tmp = array();
//念のため
 
$keywords = [
"検索キーワード1",
"検索キーワード2",
"検索キーワード3",
];
$count = count($keywords);
 
try{
 
foreach(range(0,$count-1) as $i){
$keyword = $keywords[$i];
 
$parm = array(
 'q' => $keyword,
 'count' => '10',//件数
 'result_type' => 'recent',
 );
 
$result = $to->get('search/tweets', $parm);
$result2 = array_merge_recursive($result2,$res->statuses);
 
}
 
//重複を消す//
foreach( $res2 as $key => $value ){
if( !in_array( $value->id_str, $tmp )) {
$tmp[] = $value->id_str;
$array_result[] = $value;
}
}
$result2 = $array_result;
//重複を消す//
 
//並び替える//
foreach($result2 as $key => $value){
            $sort[$key] = $value->id_str;
}
array_multisort($sort,SORT_DESC,$result2);//新着順
//並び替える//
 
var_dump($result2);
 
//出力するならこんな感じ//
foreach ($result2 as $tweet) {
echo "<li>".$tweet->user->screen_name." ".$tweet->text;
}
//出力するならこんな感じ//
 
} catch (TwistException $e) {
echo $e->getCode() ." ".$e->getMessage();//エラー用
}
 
?>


02/08 人間の愚かさを教えてくれる『フランケンシュタインの誘惑』が好きすぎる

はじめてこのサイトに来た方への案内所はこちら

類似記事

Copy&Paste


本文のコピペやスクショはしないでください