Php 如何从foreach循环中删除最后一个逗号?

Php 如何从foreach循环中删除最后一个逗号?,php,foreach,Php,Foreach,我试图用以下代码从php中的foreach循环中删除最后一个逗号 <?php foreach ($snippet_tags as $tag_data) { $tags_id = $tag_data->tag_id; $tagsdata = $this->Constant_model->getDataOneColumn('tags', 'id', $tags_id); $tag_name=$tagsdata[0]->tag_name; ?&g

我试图用以下代码从php中的foreach循环中删除最后一个逗号

<?php

foreach ($snippet_tags as $tag_data) {
    $tags_id = $tag_data->tag_id;
    $tagsdata = $this->Constant_model->getDataOneColumn('tags', 'id', $tags_id);
    $tag_name=$tagsdata[0]->tag_name;
?>

<a href="<?= base_url() ?>tags/<?php echo $tag_name; ?>"><?php echo $tag_name; ?></a> ,       

<?php } 
?> 
对,我得到了这样的结果

你好,你好,山姆


但是我想删除最后一个逗号

,方法是将HTML放在一个简单的字符串变量中,然后在输出结果字符串之前对结果字符串使用rtrim。这应该从字符串中删除最后一个逗号

<?php
$out = '';

foreach ($snippet_tags as $tag_data) {
    $tags_id = $tag_data->tag_id;
    $tagsdata = $this->Constant_model->getDataOneColumn('tags', 'id', $tags_id);
    $tag_name=$tagsdata[0]->tag_name;

    // move inside loop and amend to place in a simple string var
    $out .= '<a href="' . base_url() . 'tags/' . $tag_name . '">' . $tag_name . '</a>,';
?>

echo rtrim($out, ',');

您也可以使用以下代码-

<?php
$numItems = count($snippet_tags);
$i = 0;

foreach ($snippet_tags as $tag_data) {
   $tags_id = $tag_data->tag_id;
   $tagsdata = $this->Constant_model->getDataOneColumn('tags', 'id', $tags_id);
   $tag_name=$tagsdata[0]->tag_name;
?>

if(++$i === $numItems) 
   echo "<a href='base_url() ?>tags/<?php echo $tag_name;'> $tag_name</a>";
else echo "<a href='base_url() ?>tags/<?php echo $tag_name;'> $tag_name</a> ,";     

<?php 
} 
?> 

@穆德,你检查过了吗?我的问题涉及到你把什么联系起来的问题?为什么@u_mulder的建议不起作用?@RiggsFolly是的,我同意@RiggsFolly这就像一个操作提示-使用搜索。简单的解决方案:将链接保存在字符串中,然后创建一个链接数组,然后只需使用内爆“,”$links\u arr