转义字符串中的最后一个分隔符


Escape the last Delimiter from the string

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

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

我应该怎么做才能得到想要的输出?

不需要循环-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

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