Com essa função é possível calcular o dígito verificador da chave de acesso da Nota Fiscal Eletrônica ou NFe.
Espero que seja útil.
function calcula_dv($chave43) { $multiplicadores = array(2,3,4,5,6,7,8,9); $i = 42; while ($i >= 0) { for ($m=0; $m=0; $m++) { $soma_ponderada+= $chave43[$i] * $multiplicadores[$m]; $i--; } } $resto = $soma_ponderada % 11; if ($resto == '0' || $resto == '1') { return 0; } else { return (11 - $resto); } } $nfe = "3511030212322300017155001000115328186185490"; $nfe.=calcula_dv($nfe); echo $nfe;