根据PHP中的键合并数组

时间:2015-07-06 14:11:01

标签: php arrays merge

我有一个包含2个成员的巨大数组列表,如下所示:

<?php
$aData = array ();
$aData[0] = array ( 14400, 'Item1' );
$aData[1] = array ( 14400, 'Item4' );
$aData[2] = array ( 14401, 'Item2' );
$aData[3] = array ( 14402, 'Item4' );
$aData[4] = array ( 14402, 'Item5' );
$aData[5] = array ( 14402, 'Item9' );

我想把它转换成这样的数组:

$aData[0] = array ( 14400, 'Item1,Item4' );
$aData[1] = array ( 14401, 'Item4' );
$aData[2] = array ( 14402, 'Item4,Item5,Item9' );

而第二个可以是字符串或数组。 现在我试图实现一些逻辑 - 但是有一个功能可以至少部分地做到这一点吗? array_maparray_merge_recursive似乎不合适?

2 个答案:

答案 0 :(得分:0)

使用(int - &gt;字符串列表)

的Map
x(find(diff(~x, 2)==2) + 1) = 0;

您使用的是哪种语言?

答案 1 :(得分:0)

因为你不知道自己想要什么。您可以轻松获得此类结果&#39;

$arr = [
[14400,Item1],
[14400,Item4],
[14401,Item2],
[14402,Item4],
[14402,Item5],
[14402,Item9]
];

$new = [];
foreach($arr as $item) 
  $new[$item[0]][] = $item[1];

print_r($new);

结果

Array
(
[14400] => Array
        (
        [0] => Item1
        [1] => Item4
    )

[14401] => Array
    (
        [0] => Item2
    )

[14402] => Array
    (
        [0] => Item4
        [1] => Item5
        [2] => Item9
    )
)