我通过以下方法从 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 循环(实际上是两个)以所需的格式(数组)获取所需的信息(页面视图和日期),如下所示:
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],[.....)
使用上述数组,一切正常。我渲染了一个非常漂亮的图表,但如果可以的话,我想根据一周中的几天对其进行过滤。例如:我想要一个像上面这样的数组,只有星期一或星期二的日期等等......我需要在第二个 php foreach 中的某个地方过滤以仅返回我想要的日期,但是如何?这种需求使用什么条件?或者我应该使用其他方法,例如,从 Facebook Graph Api 查询其他内容?任何指导都非常受欢迎。