簡體   English   中英

根據PHP中的鍵合並數組

[英]Merge array according to key in PHP

我有一個龐大的數組列表,其中包含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似乎不完全適合?

使用(int->字符串列表)的映射

for each (key,value) pair
    map.get(key).add(value)

您使用什么語言?

因為你不知道自己想要什么。 您可以輕松收到這樣的結果”

$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
    )
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM