簡體   English   中英

如何組合數組並使用ID創建自己的數組?

[英]How do I combine the arrays and make my own array with ID?

我對數據庫進行查詢,然后打印出來。 如您所見, page_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);
}

好的,我們走了:

$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'];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM