我有一个动态表单,每行都有相应的复选框。
Plan Price Choose
PHP $3 []
.Net $2 []
C# $6 []
Java $2 []
C++ $10 []
ROR $2 []
用户可以选择多个复选框,然后所选计划将显示在下一页上,如
输出
Java,C++,ROR,
用于输出的代码
<?php foreach ($_POST['check_list'] as $id => $plan_name) {
echo $id;
echo ',';
}
?>
它终于包含了","。我想把逗号留在末尾。
期望输出:
Java,C++,ROR
我应该怎么做才能得到想要的输出?
不需要循环-implode
和array_keys
将满足您的需要:
echo implode(array_keys($_POST['check_list']));
http://php.net/manual/en/function.array-keys.php
http://php.net/manual/en/function.implode.php
rtrim($string, ",");
这将删除字符串末尾的所有","。
编辑:
好吧,在我看了更多的代码后,我发现我错了^
<?php
$lastkey = key(array_slice($_POST['check_list'], -1, 1, TRUE));
foreach ($_POST['check_list'] as $id => $plan_name) {
echo $id;
if ($id !== $lastkey)
echo ',';
}
?>
试试这个:
$checked = $_POST['check_list'];
<?php
foreach ($checked as $id => $plan_name) {
echo $id;
if (end($checked) !== $plan_name)
echo ',';
}
?>