Hola Patriarka,
Si le puse tu codigo y me guarda de esta forma por ejemplo como en la imagen de arriba me guarda en la base el priemro con valor 1 el segundo con valor 1 y el tercero no guarda, y como ves en la imagen yo hice el chec en el primero y el tercero.
Código PHP:
if (isset($_POST['nombre'])){
for($i = 0; $i<count($ent_si_no); $i++){
$_ent_si_no = (isset($ent_si_no[$i]) && !empty($ent_si_no[$i])) ? $ent_si_no[$i] : 0;
$acta="INSERT INTO ps_acta (ing_si_no, observacion, product_id, user_id, reference, cantidad, total)
VALUES ('$_ent_si_no', '$obs_ent[$i]', '$prod_id[$i]', '$user[$i]', '$refer_ped[$i]', '$cant_prod[$i]', '$tot_com[$i]')";
Db::getInstance()->execute($acta); }
} else {
echo 'aun no guarda nada';
}