什么是一个干净的方式来转换数组,看起来像这样:
[584] => Array ( [link_id] => 1 [site_id] => 5 [COUNT(*)] => 2 )
[585] => Array ( [link_id] => 243 [site_id] => 5 [COUNT(*)] => 2 )
[586] => Array ( [link_id] => 522 [site_id] => 89223 [COUNT(*)] => 3 )
到一个数组,其中键是上面的site_id,因此对于上面的示例,结果数组将是:
[5] => Array( 1, 2, 243, 2) //Even ones and 0 are link_id, odd ones are count(*)
[89223] => Array(522, 3)
基本上,按site_id分组。我仍然需要保持link_id和count(*)之间的关系,在上面的情况下,我是通过位置来做的(所以0和1在一起,2和3等),但我也对一个新的结构开放。
谢谢!
你是说这样吗?(演示):
$out = array();
foreach($input as $v)
{
$site_id = $v['site_id'];
unset($v['site_id']);
$out[$site_id][] = $v;
}
或者如果你喜欢值对一个接一个(Demo):
...
unset($v['site_id']);
$out[$site_id][] = array_shift($v);
$out[$site_id][] = array_shift($v);
} ...