2012-03-26 53 views
0

我有以下代码来创建基于文件夹中的文件的音乐播放列表。问题在于foreach部分会回显最后一行的逗号。这是下面的代码:PHP - 编辑最后一行在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 '},'; 

有谁知道一个简单的解决这个的。我一直在试图找出整天没有意义的东西。干杯!

回答

1

循环之前获得的文件,它的数量,然后检查每次迭代

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

非常聪明我会试试这个 – 2012-03-26 09:45:16

0

如果我理解正确你想做的事: 试着让与迭代器的循环,那么你会能够检查是否有下一个对象要迭代。