0

Wordpress フィードのデータを Google アナリティクス API データとマージして、各投稿のページ ビューを含む Wordpress 投稿情報のテーブルを作成しようとしています。これを達成するために投稿のURLを照合できると思いますが、これを行う方法がわかりません。2 つのソースからデータを取得するのに少し時間を費やして、次のようにしました。

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 アナリティクス 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、および 2 つの配列変数の間に「+」を追加するさまざまなバリエーションを試しましたが、うまくいきませんでした。

どんな助けでも大歓迎です。

ありがとう!

4

1 に答える 1

0

これは で実行できると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環境はありませんが、これは機能するはずです。「ワンコマンド」の解決策はないと思います。

于 2012-11-27T00:40:11.747 に答える