我有一个这种格式的数组
Array
(
[0] => stdClass Object
(
[page_id] => 132
[link] => Savings
[count] => 5
)
[1] => stdClass Object
(
[page_id] => 172
[link] => Coverage
[count] => 5
)
)
我希望将其转换为以下格式
Array
(
[Savings] => Array
(
[132] => 3
[172] => 5
)
[Coverage] => Array
(
[132] => 9
[172] => 9
)
)
我尝试了以下代码并获得以下格式的结果。
foreach($result_link as $data) {
$page_array[$data->link][] = array( $data->page_id => $data->count );
}
print_r($page_array);
请帮我解决这个问题。
答案 0 :(得分:0)
如果我从你所提供的内容中得到你所拥有的......这可能有所帮助。
set.seed(24)
dta = data.table(i=1:4, x=rnorm(4))
dts = data.table(i=rep(1:3, each=3), z=runif(9))
结果是
<?php
$test_array = array(
(object)array('page_id'=>'132','link'=>'Savings','count'=>5),
(object)array('page_id'=>'133','link'=>'Savings','count'=>6),
(object)array('page_id'=>'172','link'=>'Coverage','count'=>7),
(object)array('page_id'=>'173','link'=>'Coverage','count'=>8),
);
var_dump($test_array);
$new_array = array();
// Create the new array
foreach($test_array as $object){
$new_array[$object->link][$object->page_id] = $object->count;
}
var_dump($new_array);
注意:仅当您的page_id对每个链接都是唯一的时才有效。
答案 1 :(得分:0)
这是解决方案
知道你是否有任何疑问
$tmp = [];
foreach($result_link as $data){
$tmp[$data->link][$data->page_id] = $data->count;
}