duanping1632 2016-10-19 20:02
浏览 9
已采纳

内置具有不同分隔符的多维数组?

I'm looking to implode my array into a string that looks like this:

1,a,v,v|2,b,v,v|3,c,v,v|4,d,v,v|5,d,v,v

Here's my array:

array (size=5)
  0 => 
    array (size=4)
      0 => string '1' (length=1)
      1 => string 'a' (length=1)
      2 => string 'v' (length=1)
      3 => string 'v' (length=1)
  1 => 
    array (size=4)
      0 => string '2' (length=1)
      1 => string 'b' (length=1)
      2 => string 'v' (length=1)
      3 => string 'v' (length=1)
  2 => 
    array (size=4)
      0 => string '3' (length=1)
      1 => string 'c' (length=1)
      2 => string 'v' (length=1)
      3 => string 'v' (length=1)
  3 => 
    array (size=4)
      0 => string '4' (length=1)
      1 => string 'd' (length=1)
      2 => string 'v' (length=1)
      3 => string 'v' (length=1)
  4 => 
    array (size=4)
      0 => string '5' (length=1)
      1 => string 'd' (length=1)
      2 => string 'v' (length=1)
      3 => string 'v' (length=1)

Any help would be greatly appreciated.

Thanks.

  • 写回答

1条回答 默认 最新

  • douhao8456 2016-10-19 20:29
    关注

    If you were starting with an array of strings, like this:

    $strings = ['1,a,v,v', '2,b,v,v', '3,c,v,v', '4,d,v,v', '5,d,v,v'];
    

    It would be easy:

    $result = implode('|', $strings);
    

    You probably already know how to do that. So the question is how to get this array of arrays

    $arrays = [
        ['1','a','v','v'],
        ['2','b','v','v'],
        ['3','c','v','v'],
        ['4','d','v','v'],
        ['5','d','v','v']
    ];
    

    into the same format as $strings.

    Fortunately that's easy too. Just do the same thing, only in a loop.

    foreach ($arrays as $array) {
        // implode each item and add the result to a new array
        $strings[] = implode(',', $array);
    }
    

    It can also be done using the array_map function.

    $strings = array_map(function($array) {
        return implode(',', $array);
    }, $arrays);
    

    For something basic like this, it really doesn't matter which way you do it.

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

报告相同问题?

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题