Php - 如何将多个键值数组转换为| (管道)分隔的字符串

时间:2017-05-04 08:20:02

标签: php arrays string pipe

我正在开发一个具有多个阵列操作的项目。

我有一个名为 $ product_attributes 的变量,它包含以下数组作为值。

Array
(
    [0] => Array
        (
            [0] => Applications
            [1] => Steel; PVC; Std. Wall
        )

    [1] => Array
        (
            [0] => Blade Exp.
            [1] => 0.29
        )

    [2] => Array
        (
            [0] => Fits Model
            [1] => 153
        )
)

现在我想将其转换为 | (管道)分隔字符串如下所示:

Applications=Steel; PVC; Std. Wall|Blade Exp.=0.29|Fits Model=153

以下是我试过的内容:

$tags = implode('|',$product_attributes);
echo "Output".$tags;

但它返回输出如下:

OutputArray|Array|Array|Array|Array|Array

1 个答案:

答案 0 :(得分:4)

使用array_mapimplode函数的解决方案:

$result = implode("|", array_map(function ($v) {
    return $v[0] . "=" .$v[1];
}, $product_attributes));

print_r($result);

输出:

Applications=Steel; PVC; Std. Wall|Blade Exp.=0.29|Fits Model=153