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

Implode multi-dimensional array with different delimiters?

我希望将数组内爆成如下所示的字符串:

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

这是我的数组:

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)

如有任何帮助,我们将不胜感激。

谢谢。

如果您从字符串数组开始,如下所示:

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

这很容易:

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

您可能已经知道该怎么做。所以问题是如何得到这个 arrays

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

转换为与 $strings.

相同的格式

幸运的是这也很容易。做同样的事情,只是在一个循环中。

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

也可以使用array_map函数来完成。

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

对于像这样基本的东西,采用哪种方式并不重要。