Иногда я вижу массивы вроде следующего:
array('item1' => array( 'subitem1', 'subitem2', )
Почему запятая добавляется в конце массива, если нет элемента после submitem2?
Это облегчает добавление другой записи в более поздний момент времени.
Запятая не нужна вообще. Но вы все равно найдете некоторые интерпретаторы / компиляторы, все еще позволяющие использовать его. Вы можете думать об этом так: переводчики позволяют вам делать небольшие ошибки и разумно фиксировать их внутренне. Это просто удобный для пользователя способ. Ничего другого.
И вы не должны использовать эту дополнительную запятую, потому что многие строгие не позволят вам пройти! Как Internet Explorer при интерпретации Javascript. Но Firefox это позволит.