Arrays 用PHP连接两个关联数组
我正在尝试将Wordpress提要中的数据与Google Analytics API数据合并,以创建一个Wordpress帖子信息表,其中包括每篇帖子的页面视图。我想我可以匹配后的网址来完成这一点,但我不知道如何做到这一点。我花了一点时间从两个来源获得如下数据: print\r($analytics)返回:Arrays 用PHP连接两个关联数组,arrays,array-merge,Arrays,Array Merge,我正在尝试将Wordpress提要中的数据与Google Analytics API数据合并,以创建一个Wordpress帖子信息表,其中包括每篇帖子的页面视图。我想我可以匹配后的网址来完成这一点,但我不知道如何做到这一点。我花了一点时间从两个来源获得如下数据: print\r($analytics)返回: Array ( [0] => Array ( [url] => blog-post-url-121 [pageViews] => 34326 ) [1]
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 )
)
…我有将近2000个实例
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 )
)
我确信“key”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\u merge、array\u merge\u 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环境进行测试,但这应该可以工作。我认为没有“一个命令”的解决方案。是按
url
排序的$analytics
吗?实际上不是,我有按页面浏览量从高到低排序的$analytics。如果重要的话,我可以改变吗$blogfeed是按发布日期排序的。如果两者都是按url
排序的,你可以用一个循环而不是2个循环。请参见下面的2循环解决方案。如果我在这里过于密集,我真的很抱歉,但是我应该从上面打印什么来查看新的合并阵列?打印$blogfeed
。假设它有效,不要忘记接受;)我认为它不起作用。看起来这根本没有改变$blogfeed。天哪,我讨厌php,对不起,我的已经生锈了。我在上面编辑了解决方案哎呀,那是个打字错误,修正了