![](/img/trans.png)
[英]PHP: How do I combine multiple associative arrays into a multidimensional array?
[英]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.