将多维数组放入字符串中

时间:2015-09-07 21:20:56

标签: php arrays multidimensional-array

我有一个$_POST数组,看起来像这样。

Array (
    [burrito] => Cilantro
    [pizza] => Array ( [0] => Avocado [1] => Italian Sausage [2] => pepperoni )
) 

我需要$_POST变量是动态的。所以,墨西哥卷饼&披萨不是固定变量。

我希望看起来像这样:

burrito=>Cilantro , pizza=>(Avocado, Italian Sausage, pepperoni)

我怀疑我需要使用:

foreach($_POST as $key => $value){

    foreach($_POST[$key] as $d => $k){

    }

}

implode()功能。

但我被困在这里。无论我做什么,结果都不会出来。

2 个答案:

答案 0 :(得分:1)

您可以使用json_encode()将数组转换为字符串。然后你的数组将如下所示:

{"burrito":"Cilantro","pizza":["Avocado","Italian Sausage","pepperoni"]}

您还可以使用json_decode()将字符串转换回数组。

答案 1 :(得分:1)

您与implode()走在正确的轨道上。但是,由于您的值只包含一个字符串,而某些字符串包含一个数组,因此您必须检查它。

所以你可以这样做:

只需循环遍历数组,如果值is_array()然后返回内爆数组,否则只返回单个值,例如

foreach($_POST as $k => $v) {
    echo "$k => " . (is_array($v) ? "(" . implode(",", $v). ")" : $v) . "<br>";
}