2012-03-26 28 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

非常にスマート私はこれを試してみます –

0

にチェックし、ループの前に、ファイル、およびそれの数を取得します: その後、あなたがなり、イテレータを使ってループを作ってみます反復する次のオブジェクトがあるかどうかを確認することができます。

関連する問題