PHP/JS:删除分隔列表中的最终逗号

Jos*_*vid 0 javascript php coding-style

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

foreach ($list as $item)
{
    echo "'".$item . "',";
}
Run Code Online (Sandbox Code Playgroud)

什么是最好的方法(使用PHP和/或JS)使上面的代码产生一个逗号,但最后一次迭代?

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

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

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

sal*_*the 5

标准PHP库(SPL)提供了一个方便的类,CachingIterator可以用来查看是否有更多的项目进行遍历.以下可能并不像您希望的那样简洁,但它是灵活的(即可以用于远远不仅仅是数组).

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

以上示例输出

'a','b','c','d','e','f','g'
Run Code Online (Sandbox Code Playgroud)