0

Facebook フィード、Twitter フィード、ブログ フィードなどのさまざまなソースから取得したデータの複数の配列/オブジェクトがある場合、日付で並べ替えられた混合セットとして表示するためにそれらをマージするにはどうすればよいですか?

4

1 に答える 1

0

各配列を繰り返し処理し、さまざまな時間形式を共通のもの、おそらくこのような UNIX タイムスタンプに変換します。

strtotime($time);

次に、それを配列のキーとして使用します。

foreach ($fb_arrays as $fb_array) {
  $key = strtotime($fb_array['time']);
  $fb_array_by_time[$key] = $fb_array;
}

それなら私は

array_merge($array_one_by_time, $array_two_by_time, $array_three_by_time);

それなら私は

asort()またはrasort()並べ替えたい方向に応じて

編集:

衝突を避けるために、これを行うことができます

foreach ($events as $event) {
  $key = strtotime($event['time']);
  $key .= $network;
  $n = 0;
  while (isset($event_by_time[$key . $n])) { $n++; }
  $event_by_time[$key . $n] = $event;
}

次に、キーは次のようになります。

123134223facebook0
123134223twitter0
123134225facebook0
123134225facebook1

で並べ替えた後asort()

于 2012-07-08T05:15:27.127 に答える