Che sia più pratico mi va bene.

Però è meno logico, secondo me. Sarà che con ASP ero abituato a pensarla diversamente.

Il fatto che sia un array è già specificato dal fatto che hanno lo stesso nome. E difatti ad ASP basta quello per capire che è un insieme di valori (anche se contesto che venga restituita una stringa anzichè un array).

Con PHP devo mettere un paio di parentesi che sono di fatto superflue.

Perchè non fa la stessa cosa in automatico senza parentesi?

E' previsto un 3° comportamento nel caso io specifichi un name multiplo, senza le parentesi?
Non mi pare. Il 3° caso semplicemente non funziona (restituisce solo l'ultimo checkbox).

A mio parere è un comportamento errato, fuorviante.

Che diventi un array è ottimo (mi chiesi al tempo perchè ASP non lo facesse, anzichè concatenare in una stringa)..... è l'obbligo delle parentesi quadre che non mi va giù.

Tutti gli altri linguaggi che ho incontrato non ne avevano bisogno. Javascript, come ASP, capisce da solo che è un array (è già previsto nella natura della proprietà html, a prescindere dal valore).

C'è un motivo?