Facebook Graph API から、次の方法で管理しているすべてのアカウントから過去 3 か月のページ ビュー情報を取得しています。
$since_date = date('Y-m-d', strtotime('-3 months'));
$until_date = date('Y-m-d');
$page_views = $facebook->api('/' . $account['id'] . '/insights/page_views?since=' . $since_date . '&until=' . $until_date . '','GET');
その後、php foreach ループ (実際には 2 つ) を使用して、次のような必要な形式 (配列) で必要な情報 (ページ ビューと日付) を取得しています。
foreach ($page_views['data'] as $page_view) {
$i = 0;
$len = count($page_view['values']);
foreach($page_view['values'] as $key => $page_view_values) {
$end_time = strval($page_view_values['end_time']);
$value = intval($page_view_values['value']);
echo '[\'' . substr($end_time, 0, -14) . '\', ' . $value . ']';
if ($i == $len - 1) {
continue;
} else {
echo ', ';
}
$i++;
}
さらに次の配列が必要な出力は次のとおりです。
(.....],['2013-04-02', 21], ['2013-04-03', 7], ['2013-04-04', 2], ['2013-04-05', 0], ['2013-04-06', 2], ['2013-04-07', 3], ['2013-04-08', 1], ['2013-04-09', 2], ['2013-04-10', 5], ['2013-04-11', 1], ['2013-04-12', 11], ['2013-04-13', 0],[.....)
上記の配列で、すべてが正常に機能しています。私は非常に素晴らしいチャートをレンダリングしますが、曜日に基づいてフィルタリングできる場合はそれをフィルタリングしたいと考えています。例: 月曜日または火曜日などの日付のみを含む上記のような配列が必要です... 2 番目の php foreach のどこかでフィルター処理して、必要な日のみを返す必要がありますが、どのように? この種のニーズにはどのような条件が使用されますか? または、他の方法を使用する必要があります。たとえば、Facebook Graph Api から別のクエリを実行する必要がありますか? どんなガイダンスも大歓迎です。