Sí, el problema es que los browsers no envían los checkboxes que no están activados entonces lo que te toca hacer es pasar el índice en el name:
Código HTML:
Ver original<input type="checkbox" name="estado[0]" value="1"> <input type="checkbox" name="estado[1]" value="1" checked="checked"> <input type="checkbox" name="estado[2]" value="1"> <input type="checkbox" name="estado[3]" value="1" checked="checked">
Así te llegan el $estado[1] y $estado[3] en 1.
Saludos