PHP/JS : Removing final comma in a delimited list

标签 php javascript coding-style

在典型的 for 循环中生成逗号分隔列表时,消除最后逗号的最佳、最简洁的编码实践是什么?这种情况总是出现,我无法忍受为如此简单的事情编写这么多额外的代码......必须有更好的技术/模式。

foreach ($list as $item)
{
    echo "'".$item . "',";
}

使上述代码除最后一次迭代之外的所有地方都产生逗号的最佳方法是什么(使用 PHP 和/或 JS)?

现在我正在做这样的事情:

$total = count($images);
$i=0;
foreach ($list as $item)
{
    $i++;
    echo "'".$item."'";
    if ($i<$total) echo ',';
}

但是这为如此简单的事情添加了四行代码......

最佳答案

Standard PHP Library (SPL)提供了一个方便的类(class),CachingIterator可用于查看是否还有更多项目需要迭代。以下内容可能不像您希望的那么简洁,但它很灵活(即可以用于不仅仅是数组)。

$array = range('a', 'g');
$cache = new CachingIterator(new ArrayIterator($array));
foreach ($cache as $item) {
    echo "'$item'";
    if ($cache->hasNext()) {
        echo ',';
    }
}

上面的示例输出

'a','b','c','d','e','f','g'

关于PHP/JS : Removing final comma in a delimited list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6723333/

相关文章:

PHP 命名空间 :\My\Namespace or My\Namespace?

php - 本地主机,子域,使用 XAMPP

javascript - 我如何让机器人忽略某些角色//Discord.js

Javascript悬停效果删除了预定义的样式

java - 如何将日志记录与异常处理链结合起来?

php - 如何检查 .mo 文件的有效性?

php - Doctrine 记录的深拷贝

javascript - 下载前通知 Safari 扩展

javascript - 固定的 div 重叠滚动条

coding-style - 风格意见re。空 If block