0

Facebook と Twitter の 2 つの異なるデータを組み合わせるにはどうすればよいですか。PHPでcreated_timeでソートしますか??

おそらく、それぞれの API 呼び出しから 2 つのデータを既に取得しています。しかし、それらを組み合わせて適切に並べ替える方法を理解できないようです。

例 :

FB[1] TW[1]
FB[2] TW[2]
FB[3] TW[3]

FB[1] の created_time が TW[1] よりかなり早い場合、FB[1] は TW[1] より進んでいます。FB[2] の created_time が TW[2] より遅い場合、FB[2] は TW[1] より遅れています。FB[3] の created_time が TW[3] と同じ場合、投稿は最初に FB から、次に TW から行われます。

この疑似コードが頭から離れません。並べ替えの方法がわかりません。

私のプロジェクトにはこれが必要です。助けてください。

編集: 私は CodeIgniter を使用しています.. :)

4

2 に答える 2

2

fb と tw から取得するデータの種類はわかりませんが、両方が数値インデックスで、次の次元に created_time フィールドがある場合は次のようになります。

function cbSort($a, $b) {
   return $a['created_time]>$b['created_time'];
}

$res=array_merge($fb, $tw);
usort($res, 'cbSort');    
var_dump($res);

とにかく、最善の選択肢を達成しようとしているのは、投稿を一般的なカスタムクラスに正規化することです。

于 2012-10-04T15:49:40.587 に答える
1

配列を結合してからソートしますか?

 function cmp($a, $b) {
    return $a["created_time"] > $b["created_time"];
 }


 $combined = array_merge ($FB, $TW);
 usort($combined , "cmp");
于 2012-10-04T15:48:55.050 に答える