按索引合并多个数组

时间:2012-06-30 01:16:06

标签: php arrays merge

我是一些查询返回的数组..结果是这样的:

array(array('balance_1'=> '-5', 'balance_2'=>'-21'), array('balance_1'=> '-21', 'balance_2'=>'21'), array('balance_1'=> '-50', 'balance_2'=>'40')) 

我想把它变成一个看起来像这样的数组:

array(array(-5,11,-50), array(-21, 21, 40));

基本上我想将所有balance_1,所有balance_2,所有balance_3加入到单独的数组中。

任何想法?感谢

2 个答案:

答案 0 :(得分:1)

您只需遍历列表,然后收集值。如果您重复使用现有密钥进行分组,则最简单:

foreach ($list as $row) {
    foreach ($row as $key=>$value) {
        $out[$key][] = $value;
    }
}

通过这种方式,您将获得一个$out数组,其中[balance_1][balance_2]包含值列表。

答案 1 :(得分:0)

循环遍历数组并使用“array_key_exists”,如果密钥存在则添加到数组中,如果它不构建带索引的新数组。

更多信息可以在这里找到: http://www.php.net/manual/en/function.array-key-exists.php