如何将多个数组转换为一个变量字符串?

How can I convert multiple arrays into one single variable string?

我有三个这样的数组:

$a = ["a1", "a2", "a3", "a4", "a5"];
$b = ["b1", "b2", "b3", "b4", "b5"];
$c = ["c1", "c2", "c3", "c4", "c5"];

我正在寻找一种方法将三个数组转换成一个单个字符串并将其保存在这样的变量中:

$abc = "a1 , b1, c1, a2, b2, c2, a3, b3, c3, a4, b4, c4, a5, b5, c5";

我试过内爆,但可能我的方法不太好。我正在使用 PHP 5.4.

备注

请注意,下面的代码可以使用,但我不愿意使用。 它对我有用,但我想重新发明轮子:

array_push($abc, $a);
array_push($abc, ",");
array_push($abc, $b);
array_push($abc, ",");
array_push($abc, $c);

if ($key < (sizeof($a)-1)){
    array_push($abc, ",");
}

这应该适合你:

只需使用 array_map() 一次遍历所有 3 个数组。所以首先你将你的数组转置为这种格式:

Array
(
    [0] => a1, b1, c1
    [1] => a2, b2, c2
    [2] => a3, b3, c3
    [3] => a4, b4, c4
    [4] => a5, b5, c5
)

然后你implode()这个数组到你期望的字符串中。

代码:

<?php

    $a = ["a1", "a2", "a3", "a4", "a5"];
    $b = ["b1", "b2", "b3", "b4", "b5"];
    $c = ["c1", "c2", "c3", "c4", "c5"];

    $result = implode(", ", array_map(function($v1, $v2, $v3){
        return "$v1, $v2, $v3";
    }, $a, $b, $c));

    echo $result;

?>

输出:

a1, b1, c1, a2, b2, c2, a3, b3, c3, a4, b4, c4, a5, b5, c5