Php 如何从foreach循环中删除最后一个逗号?
我试图用以下代码从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 ($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