PHP:转换数组的干净方法

PHP:转换数组的干净方法,php,arrays,Php,Arrays,转换如下所示的数组的干净方法是什么: [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 [C

转换如下所示的数组的干净方法是什么:

[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)
因此,基本上,按站点id对它们进行分组。我仍然需要保持链接id和计数(*)之间的关系,在上面的例子中,我是按位置进行分组的(因此0和1在一起,2和3等),但我也对新结构持开放态度


谢谢

你的意思是这样的?():

或者,如果您更喜欢值对在彼此之后():


你是说像这样的?():

或者,如果您更喜欢值对在彼此之后():


请格式化您的代码样本以便于阅读。您已经有了什么代码?您正在做的任何事情看起来都不正确。不回答这个问题,你能解释一下你想做什么吗?这是从mysql查询得到的,因为另一个表位于另一台服务器上的非联邦表中,所以我需要手动获取一些值;在这种情况下,我需要按站点id进行分组,并保持链接id和计数(*)之间的关系,以便对它们进行操作。请格式化您的代码示例以便于易读。您已经有哪些代码?您正在做的任何事情看起来都不正确。不回答这个问题,你能解释一下你想做什么吗?这是从mysql查询得到的,因为另一个表位于另一台服务器上的非联邦表中,所以我需要手动获取一些值;在这种情况下,我需要按site_id进行分组,并保持link_id和count(*)之间的关系,以便对它们进行操作。
$out = array();
foreach($input as $v)
{
    $site_id = $v['site_id'];
    unset($v['site_id']);
    $out[$site_id][] = $v;
}
    ...
    unset($v['site_id']);
    $out[$site_id][] = array_shift($v);
    $out[$site_id][] = array_shift($v);
} ...