PHP では配列を定義するとき次のように 最後の要素の後ろにカンマがあってもエラーになりません。
$a = array(1, 3, 4,); ~~
このように定義した場合、配列の要素数は 3 です。 最後のカンマは無視されるわけです。
なぜこうなってるかですが、 配列は、要素が長かったり連想配列だと次のように定義することがあります。
$b = array('a' => 3, 'b' => 2, 'c' => 5);
4 つめの要素を追加するときは、最後の要素の後ろにカンマを付けて・・・と やらなくてはなりません。
ところが次のように定義してある場合、全ての要素の行を同じように扱うことができます。
$b = array( 'a' => 3, 'b' => 2, 'c' => 5, );
書く人に、とても優しいですね。 ちゃんと規約にしてしまえば、こちらの方がミスも少なくて良いんじゃないでしょうか。
これは Perl や JavaScript, Java なんかでも同じです。