PHP - 编辑foreach中的最后一行

时间:2012-03-26 09:23:46

标签: php foreach

我有以下代码来根据文件夹中的文件创建音乐播放列表。问题是foreach部分将回显最后一行的逗号。以下是代码:

echo '<script type="text/javascript">
                $(document).ready(function(){
                    new jPlayerPlaylist({
                        jPlayer: "#jquery_jplayer_'. $counter .'",
                        cssSelectorAncestor: "#jp_container_'. $counter .'"
                    }, [';

            foreach(glob('files/'. $dir .'/*.mp3') as $file) {
                $filename = $file;
                $parts = Explode('/', $filename);
                $filename = $parts[count($parts) - 1];
                echo '{';
                echo 'title:"'. $filename .'",';
                echo 'mp3:"'.$file.'",';
                echo '},';
            } 
            echo'
                ], {
                    swfPath: "js",
                    supplied: "oga, mp3",
                    wmode: "window"
                    });
                });
            </script>'; 
            $counter ++;
    } 

在这里使用逗号为第15行的行:

            echo '},';

有没有人知道一个简单的解决方案。我一直在绞尽脑汁试图找出那些不再有意义的事情。干杯!

2 个答案:

答案 0 :(得分:1)

获取循环前的文件及其计数,然后检查每次迭代

$files = glob('files/'. $dir .'/*.mp3');
$fCnt = count($files);
foreach($files as $i => $file) {
   -- SNIP --
   echo '}' . ($i != $fCnt - 1 ? ',' : '');
}

答案 1 :(得分:0)

如果我理解你想做什么: 尝试使用迭代器进行循环,然后您将能够检查是否有下一个要迭代的对象。