如何内爆 foreach
如何用逗号内爆foreach()
?
foreach($names as $name) {
//do something
echo '<a href="' . $url . '" title="' . $title . '">' . $name .'</a>';
}
想要在每个链接后添加逗号(最后一个链接除外)。
How to implode foreach()
with comma?
foreach($names as $name) {
//do something
echo '<a href="' . $url . '" title="' . $title . '">' . $name .'</a>';
}
Want to add comma after each link, except the last one.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
Raveren 的解决方案高效且美观,但这里还有另一个解决方案(在类似场景中可能很有用):
Raveren's solution is efficient and beautiful, but here is another solution too (which can be useful in similar scenarios):
您需要转换数组而不是使用 foreach 进行迭代。您可以使用
array_map
。带有闭包的 PHP 5.3 语法
兼容 PHP 5.3 之前的语法
具有更好可靠性的 PHP 5.3 语法
You need to transform your array instead of iterating using foreach. You can do this with
array_map
.PHP 5.3 syntax with closures
Compatible syntaxe before PHP 5.3
PHP 5.3 syntax with a better reability
编辑:
正如评论所指出的,如果您更改分隔符(确切地说是其长度)并忘记 substr 参数,这种做法很容易出错。因此,除非性能绝对关键,否则请使用 foreach 方法。
EDIT:
as the comments point out, this way of doing things is a little error prone if you change the separator (precisely its length) and forget the substr parameter. So use the foreach method unless performance is absolutely critical.
这是一个使用 echo 的丑陋解决方案:
Here is an ugly solution using echo: