Php 如何组合这些数组并使用ID创建自己的数组?

Php 如何组合这些数组并使用ID创建自己的数组?,php,arrays,Php,Arrays,我对数据库进行了查询,并将其打印出来。如您所见,可以将页面\u id=>2组成一个数组 Array ( [page_id] => 3 [name] => Add Me [article_category] => Celebrities [count_article_category] => 1 [average_ctr] => 5.555560111999512 ) Array ( [page_id] => 2

我对数据库进行了查询,并将其打印出来。如您所见,可以将
页面\u id=>2
组成一个数组

Array
(
    [page_id] => 3
    [name] => Add Me
    [article_category] => Celebrities
    [count_article_category] => 1
    [average_ctr] => 5.555560111999512
)
Array
(
    [page_id] => 2
    [name] => I Too Had a Love Story
    [article_category] => Celebrities
    [count_article_category] => 7
    [average_ctr] => 2.525434238570077
)
Array
(
    [page_id] => 2
    [name] => I Too Had a Love Story
    [article_category] => Desi
    [count_article_category] => 1
    [average_ctr] => 2.892319917678833
)
Array
(
    [page_id] => 2
    [name] => I Too Had a Love Story
    [article_category] => Lifestyle
    [count_article_category] => 1
    [average_ctr] => 2.3632400035858154
)
Array
(
    [page_id] => 2
    [name] => I Too Had a Love Story
    [article_category] => Sports
    [count_article_category] => 1
    [average_ctr] => 2.150439977645874
)
Array
(
    [page_id] => 1
    [name] => Indian Celebrities
    [article_category] => Celebrities
    [count_article_category] => 2
    [average_ctr] => 2.7356200218200684
)
Array
(
    [page_id] => 1
    [name] => Indian Celebrities
    [article_category] => Hilarious
    [count_article_category] => 1
    [average_ctr] => 0.7684919834136963
)
我希望数组看起来像这样

 [2]
    (
        [Celebrities] => 7
        [Lifestyle] => 1
        [Desi] => 1
    )
我尝试了在foreach循环中运行的以下代码。我知道我的逻辑或编码是错误的,但我无法理解我的错误。
请帮忙

if (isset($data['page_id'])) 
{
  if (array_key_exists($data['page_id'], $pages_data)) 
  {
    echo "<pre>";
    var_dump($pages_data);
    $pages_data[$data['page_id']] += array(
      $data['article_category'] =>  $data['count_article_category'],
    );
  } else {
    // $pages_data[$data['article_category']] = $data['average_ctr'];
    // $pages_dat a[$data['page_id']] = $data['page_id'];
    $pages_data[$data['page_id']] = array(
      $data['article_category'] =>  $data['count_article_category'],
    );
  }
  echo "<pre>";
  print_r($pages_data);
}
if(isset($data['page_id']))
{
如果(数组键存在($data['page\u id',$pages\u data))
{
回声“;
变量转储($pages\u data);
$pages\u data[$data['pages\u id']]+=array(
$data['article\u category']=>$data['count\u article\u category'],
);
}否则{
//$pages_data[$data['article_category']]=$data['average_ctr'];
//$pages_dat a[$data['page_id']]=$data['page_id'];
$pages\u data[$data['pages\u id']]=数组(
$data['article\u category']=>$data['count\u article\u category'],
);
}
回声“;
打印($pages\u data);
}
好的,我们开始:

好了,我们开始:


也许有了
array\u combine
目前为止做得很好,可以收集您的努力,组织您尝试过的内容和出现的问题。你的努力使我们更容易提供帮助。也许您还可以包括代码运行时的结果/输出(底部的代码是您尝试解决问题的代码)。也许使用
array\u combine
到目前为止做得很好,可以收集您的努力并组织您尝试过的内容和出现的问题。你的努力使我们更容易提供帮助。也许您还可以包括代码运行时的结果/输出(底部的代码是您尝试解决问题的代码)。
$pages_data = array();
foreach ($datas as $data) {
    if (isset($data['page_id'])) {
        // create new element for $pages_data[$data['page_id']] if it does not exists
        if (!isset($pages_data[$data['page_id']])) {
            $pages_data[$data['page_id']] = array();
        }

        // if it exists - just add certain values:
        $pages_data[$data['page_id']][$data['article_category']] = $data['count_article_category'];
    }
}