Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 用PHP连接两个关联数组_Arrays_Array Merge - Fatal编程技术网

Arrays 用PHP连接两个关联数组

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]

我正在尝试将Wordpress提要中的数据与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 )
 )  
…我有将近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,对不起,我的已经生锈了。我在上面编辑了解决方案哎呀,那是个打字错误,修正了