从数组中的最后一个元素中删除逗号

时间:2016-03-21 10:31:59

标签: php

<?php
one = "A";
$two = "B";
$three = "C";
$four = "D";
$message = "";

$hello = array();
$hello['one'] = $one;
$hello['two'] = $two;
$hello['three'] = $three;
$hello['four'] = $four;

foreach ($hello as $value){
    if (empty($value)){
        $message .= $value;
    }   else
    $message .= $value.",";
}
echo $message;
?>

上面的代码给出了如下输出: A B C D, 请给我一个方法来删除最后一个逗号,即使我删除任何其他值。 谢谢

3 个答案:

答案 0 :(得分:3)

使用rtrim()并将,作为需要裁剪的字符之一。

$message = rtrim($message, ',');
echo $message;

答案 1 :(得分:2)

只是不要添加你不想要的逗号。可以使用implode()

很好地完成
<?php
$one = "A";
$two = "B";
$three = "C";
$four = "D";
$message = "";

$hello = array();
$hello['one'] = $one;
$hello['two'] = $two;
$hello['three'] = $three;
$hello['four'] = $four;

$message = implode(',', $hello);
echo $message;

implode()连接给定数组的所有值,并将第一个参数(称为&#34; glue&#34;)放在所有值之间。

请查看http://php.net/manual/en/function.implode.php以获取进一步的解释和示例。

如果您的数据中包含空值,您可能需要对implode()具有实际内容的部分进行一些预处理:

$output = array();
foreach ($hello as $value){
    if (!empty($value)){
      $output[] = $value;
    }
}
$message = implode(',', $output);
echo $message;

答案 2 :(得分:0)

您可以使用$message = rtrim($message, ',');

或者你可以这样做:

foreach ($hello as $key => $value){
    if (key($hello) !== 0) {
        $message .= ",";
    }
    $message .= $value;
}