我有以下代码来根据文件夹中的文件创建音乐播放列表。问题是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 '},';
有没有人知道一个简单的解决方案。我一直在绞尽脑汁试图找出那些不再有意义的事情。干杯!
答案 0 :(得分:1)
获取循环前的文件及其计数,然后检查每次迭代
$files = glob('files/'. $dir .'/*.mp3');
$fCnt = count($files);
foreach($files as $i => $file) {
-- SNIP --
echo '}' . ($i != $fCnt - 1 ? ',' : '');
}
答案 1 :(得分:0)
如果我理解你想做什么: 尝试使用迭代器进行循环,然后您将能够检查是否有下一个要迭代的对象。