PHPでjavascriptの配列を作成するときの注意点

最近、配列を展開するときはもっぱらforeachなわけですので、配列を展開するときはforeachを使いたいのです。

$data = array(a,b,c);

な感じの時はやっぱり

var arr = [
<?php foreach $data as $key => $val: ?>
    {data: <?php echo $val; ?>},
<?php endif; ?>;
];

と書きたい。
こう書きたいです。ですがこれだとIE6でエラーでます。理由は配列区切りの ,(コンマ)が原因です。
出力されるソースは以下になります。

var arr = [
    {data: a},
    {data: b},
    {data: c},
];

この最後のコンマが原因でエラーがでちゃいます。
今までこれを回避するのに
for文カウンター変数が最後だったら
という条件分岐で最後のコンマ消してました。

配列だからforeach使いたい!使いたいよー

見つけました。そんなん知らんがな!という書き方
以下で解決しました。

var arr = [
<?php foreach($data as $val => $key):next($data); ?>
<?php if(current($data) !== false): ?>
    {data : '<?php echo  $val; ?>'},
<?php else: ?>
    {data : '<?php echo  $val; ?>'}
<?php endif; ?>
<?php endforeach; ?>
];

ってなんやねん!こんな書き方見たこともありませんでした。 これで解決できました!