从字符串中退出最后一个分隔符

时间:2015-07-03 12:37:45

标签: php mysql

我有一个动态表单,每行有相应的复选框。

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 ','; 
     }
 ?>

它包含&#39;,&#39;最后。我想最后留下那个逗号。

期望的输出:

Java,C++,ROR

我该怎么做才能获得所需的输出?

3 个答案:

答案 0 :(得分:4)

无需循环 - implodearray_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

答案 1 :(得分:1)

rtrim($string, ",");

这将删除所有&#34;,&#34;在字符串的末尾。

编辑:
好吧,在我查看代码之后,我发现我错了^

<?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 ','; 
}
?>

答案 2 :(得分:0)

试试这个:

$checked = $_POST['check_list'];
<?php
     foreach ($checked as $id => $plan_name) {
         echo $id;
         if (end($checked) !== $plan_name)
             echo ',';
     }
?>