从 foreach 循环中删除最后一个逗号

2022-08-30 22:37:44

我使用foreach循环从我的数据库中回显出一些值,并用逗号分隔每个值,但我不知道如何删除它在最后一个值上添加的最后一个逗号。

我的代码非常简单,但我似乎找不到正确的方法来做到这一点:

foreach ($this->sinonimo as $s){ 

echo '<span>'.ucfirst($s->sinonimo).',</span>';

}

提前感谢任何帮助:)


答案 1

将值放入数组中,然后用逗号(+ 空格以更干净)implode

$myArray = array();
foreach ($this->sinonimo as $s){ 
    $myArray[] = '<span>'.ucfirst($s->sinonimo).'</span>';
}

echo implode( ', ', $myArray );

这会在每个值之间放置逗号,但不在最后。同样在这种情况下,逗号将在跨度之外,例如:

<span>Text1<span>, <span>Text2<span>, <span>Text3<span>

答案 2

代码的另一种方法是有点逻辑:

hasComma = false;
foreach ($this->sinonimo as $s){ 
    if (hasComma){ 
        echo ","; 
    }
    echo '<span>'.ucfirst($s->sinonimo).'</span>';
    hasComma=true;
}

推荐