我有一组标签,我存储在数据库中,由空格分隔为字符串。当我用php回显它们时,我将它们爆炸并用for循环遍历它们。
我的代码看起来像这样:
$tags = explode(' ',$c['art_tags']); for($i=0;$i<count($tags);$i++){ echo "<a href='#'>".$tags[$i]."</a>".", ";}
到目前为止,我只看到有关使用内爆的答案的帖子,但如果我使用内爆,我将无法点击单个标签,因为它将是一个字符串..
因此,当我为每个标记循环标记数组时,我正在试图弄清楚如何摆脱最后一个逗号。它最终会像这样:
<a href="">tag1</a>,<a href="">tag2</a>,<a href="#">tag3</a>
答案 0 :(得分:2)
使用array_map()
+ implode()
:
<?php
$tags = explode(' ', $c['art_tags']);
$tags = array_map(function($tag){ return '<a href="#">' . $tag . '</a>'; }, $tags);
echo implode(', ', $tags);
?>
工作示例@ PhpFiddle
答案 1 :(得分:1)
你可以在for循环中将逗号更改为echo的开头,并实现一个条件来检查它是否是第一个标记......就像这样:
<?php
$c='bob sally butch jim';
$tags = explode(' ',$c);
for($i=0;$i<count($tags);$i++)
{
if($i === 0)
{
echo "<a href='#'>" . $tags[$i] . "</a>";
}
else
{
echo ", <a href='#'>" . $tags[$i] . "</a>";
}
}
?>
答案 2 :(得分:0)
您可以使用trim()
或rtrim();