配列の要素を区切るカンマ、最後の要素の後に置いたら?
こんばんは、ケンジです。
PHPで、配列に値を代入するとき
$hoge = array(
0=>'a',
1=>'b',
2=>'c'
);
というような書き方をしますよね。
このとき、4つ目の要素を加えるときに、最後の要素代入の行をそのままコピーして
$hoge = array(
0=>'a',
1=>'b',
2=>'c'
3=>'d'
);
こんな事になっちゃうこと、ありますよね。3つ目の要素と4つ目の要素の間のカンマを忘れてた!という事はよくあります(ありませんか?)
そこでオススメなのが次の書き方。
$hoge = array(
0=>'a',
1=>'b',
2=>'c',
);
最後の要素の後にもカンマを入れるんです。実は、これでも動くんですよ。なので、はなから最後の要素の後にもカンマをつけてしまえば、忘れてた!となりません。よく忘れる人は是非。

コメント
その2つ挙動違ったんじゃね? と思ったら少なくともPHP 5.1.2では同じですね.
昔ハマった気がするのは別の原因だったのかも.
$ php -r 'var_dump( array( 1,2,3,4));'
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
}
$ php -r 'var_dump( array( 1,2,3,4,));'
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
}
投稿者: ELF | 2006年4月26日 15:01
PHPはこの表記が使えるからすごく便利なんですけど、JavaScriptでは、複数要素の最後に,を付けると逆にエラーになります。
PHPで上記の表記になれていたため、JavaScriptでハマッった経験があります。
ご参考まで。
投稿者: ANN | 2006年6月20日 17:10