Boots ma se ho copiato esattamente il tuo script oltre che citarti.
Quando il checkbox non è cliccato il valore va a zero ( 0 ) non false, non null. Quindi l'array non porta mai un valore mancante ma sempre 0 o 1.
che poi come ho già scritto, solo della prima chiave non legge il valore, gli altri gli vanno sempre bene.