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();//エラー用 } ?> |