Si lo que quieres hacer son INSERTS según los valores del checkbox seleccionados no es muy necesario que les asignes valores si estan desmarcados ¿No? Bastaría con que tomaras en cuenta los marcados. Ejemplo...
El form sería así:
Código HTML:
<form method="post">
<input type="checkbox" name="dato[]" value="1"> Dato 1
<input type="checkbox" name="dato[]" value="2"> Dato 2
<input type="checkbox" name="dato[]" value="3"> Dato 3
<input type="submit" name="insertar" value="Insertar Datos Seleccionados">
</form>
La discriminación de checkboxes marcados y desmarcados la haces en el php, más o menos así:
Código PHP:
if(isset($_POST['insertar']))
{
$datosRecogidos = $_POST['dato'];
foreach($datosRecogidos as $datos)
{
$valor = "'".$datos."'";
$datosRecogidos_aux[] = $valor;
}
$valores = implode(', ', $datosRecogidos_aux);
$sql_valores = "(" .$valores. ")";
$insertarDatos = "INSERT INTO MisBaseDatos (Tabla_Uno) VALUES " . $sql_valores. ";";
echo $sql_insert;
}
No sé si sea lo que estes pretendiendo hacer, pero espero haber ayudado
¡Saludos!