doulieyu0881 2016-12-30 04:44
浏览 247
已采纳

将具有相同元素值的数组合并并将它们保持在一起,以逗号分隔

I have a Multi-dimensional array

    [0] => Array
        (
            [name] => Size
            [value] => XS,S,XL
        )    
    [1] => Array
        (
            [name] => Brand
            [value] => Adidas
        )    
    [2] => Array
        (
            [name] => Size
            [value] => XS,XL,L,M
        )    
    [3] => Array
        (
            [name] => Brand
            [value] => Nike
        )

i want result as

[0] => Array
    (
        [name] => Size
        [value] => S,M,L,XS,XL
    )    
[1] => Array
    (
        [name] => Brand
        [value] => Adidas,Nike
    )

I'm trying to array_combine, array_merge and even array_unique with no success

  • 写回答

1条回答 默认 最新

  • dongwen3093 2016-12-30 05:08
    关注

    You can try this -

    $array = array(
    '0' => array
        (
            'name' => 'Size',
            'value' => 'XS,S,XL',
        ),    
    '1' => array
        (
            'name' => 'Brand',
            'value' => 'Adidas',
        ),    
    '2' => array
        (
            'name' => 'Size',
            'value' => 'XS,XL,L,M',
        ),    
    '3' => array
        (
            'name' => 'Brand',
            'value' => 'Nike',
        )
    );
    
    $temp = $new = array();
    foreach($array as $val) {
        $temp[$val['name']][] = $val['value'];
    }
    
    foreach($temp as $key => $value) {
        // merge values, fetch unique, then merge again
        $values = implode(',', array_unique(explode(',', implode(',', $value)))); 
        $new[] = array('name' => $key, 'value' => $values); // store 
    }
    
    var_dump($new);
    

    Output

    array(2) {
      [0]=>
      array(2) {
        ["name"]=>
        string(4) "Size"
        ["value"]=>
        string(11) "XS,S,XL,L,M"
      }
      [1]=>
      array(2) {
        ["name"]=>
        string(5) "Brand"
        ["value"]=>
        string(11) "Adidas,Nike"
      }
    }
    

    Demo

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择