我希望能够将所有帖子数据转换为字符串,但只保留字符串变量中的值。
因此,如果我发布的数据如下所示:
Array ( [alloy] => Array ( [0] => K18 [1] => )
[color] => Array ( [0] => Gold [1] => )
[stone] => Array ( [0] => Diamond [1] => )
[dimension] => Array ( [0] => 3cm [1] => )
[button1] => Submit )
我希望它最终看起来像:$ data ='K18,彩金,钻石,3厘米';
我尝试过序列化,破坏数组,http_build_query,但它们不是我需要的。
如果它有助于获得整个想法,我正在从4组复选框和单选按钮数组中收集数据,我想将选定的值放入分隔的字符串并保存到我的数据库中。
答案 0 :(得分:2)
也许这就是你所需要的:
$s = array();
foreach ($_POST as $k => $v) {
if (is_array($v)) {
if ('color' === $k) {
array_push($s, implode('', array($k, $v[0])));
} else {
array_push($s, $v[0]);
}
}
}
echo implode(', ', $s);
答案 1 :(得分:1)
这是一个小技巧。分组时使用name[]
代替name
。这样,$ _POST [“name”]变量将是一个数组,就像你想要的那样。
示例:
<input type="checkbox" name="inputname[]" value="1" />
<input type="checkbox" name="inputname[]" value="2" />
<input type="checkbox" name="inputname[]" value="3" />
PHP
print_r($_POST['inputname']);
//如果全部选中
则输出Array
(
[0] => 1
[1] => 2
[2] => 3
)
注意:数组将仅包含选中的值