我正在尝试将 Wordpress feed 中的数据与 Google Analytics API 数据合并,以创建包含每个帖子的页面浏览量的 Wordpress 帖子信息表。我想我可以匹配帖子网址来完成此操作,但我不确定如何执行此操作。我花了一些时间从两个来源获取数据,如下所示:
print_r($analytics);返回:
Array (
[0] => Array (
[url] => blog-post-url-121
[pageViews] => 34326 )
[1] => Array (
[url] => blog-post-url-245
[pageViews] => 14642 )
[2] => Array (
[url] => blog-post-url-782
[pageViews] => 13201 )
)
...我有近 2,000 个实例
print_r($blogfeed);返回
Array (
[0] => Array (
[url] => blog-post-url-457
[PostID] => 87249
[Date] => 2012-11-26 15:58:45
[Author] => John-Smith
[Title] => Blog Post Title #457
[Categories] => Dining, News )
[1] => Array (
[url] => blog-post-url-245
[PostID] => 88148
[Date] => 2012-11-26 15:00:20
[Author] => Mary-Jones
[Title] => Blog Post Title #245
[Categories] => Events, Nightlife )
)
我确信“关键”url 字段存在并且在博客提要和 Google Analytics API 数据中都匹配。所需的结果数组只需将“pageViews”数据添加到 $blogfeed 数组中的信息即可。所以
[1] => Array (
[url] => blog-post-url-245
[PostID] => 88148
[Date] => 2012-11-26 15:00:20
[Author] => Mary-Jones
[Title] => Blog Post Title #245
[Categories] => Events, Nightlife
[pageViews] => 14642 )
我尝试过 array_merge、array_merge_recursive 的不同变体,并在两个数组变量之间添加“+”,但没有任何运气。
任何帮助将不胜感激。
谢谢!
这可以在
O(n)
完成,我想...
foreach ($analytics as $viewElement) {
$viewAssoc[$viewElement['url']] = $viewElement['pageViews'];
}
foreach ($blogfeed as $index => $blogElement) {
$blogElement['pageViews'] = $viewAssoc[$blogElement['url']];
$newBlogfeed[$index] = $blogElement;
}
我没有设置用于测试的 php 环境,但这应该可以工作。我不认为有“一个命令”的解决方案。