Pessoal, estou tentando validar um renavam, mas não estou conseguindo.
function renavam($renavam)
{
$rena_count = strlen($renavam);
if($rena_count>8)
{
$renavam5 = substr($renavam, 0,1);
$renavam4 = substr($renavam, 1,1);
$renavam3 = substr($renavam, 2,1);
$renavam2 = substr($renavam, 3,1);
$soma = ($renavam5*5)+($renavam4*4)+($renavam3*3)+($renavam2*2);
$divimulti = intval(($soma/11))*11;
$resultado = $soma-$divimulti;
echo $resultado;
}
else {
//return false;
echo "erro";
}
}
echo renavam("623456789");
Mas não sei qual saída tenho que ter. Poorque sempre o resultado é zero.
Tenho uma regra aqui, mas não entendi direito:
Primeiro calcula-se a soma da multiplicação dos 4 primeiros dígitos por 5,4,3 e 2, respectivamente, Soma = (8*5)+(4*4)+(7*3)+(8*2); (RENAVAM antigo)
Em seguida, dividi-se e multiplica-se por 11;
Utiliza-se sempre o valor inteiro da divisão: Valor = (Soma/11)*11
Por fim, subtraia o valor da soma;
O resultado é igual a soma - valor
Se resultado for igual à 1 ou 0, então o 1.º dígito verificador é 0;
Caso contrário, o 1.º dígito verificador é o resultado da subtração de resultado de 11. Caso prático:
RENAVAM: 00847897710 (com a nova regra e dígitos, a multiplicação dos 4 primeiros dígitos deverá acontecer da seguinte forma: (0*5)+(0*4)+(8*3)+(4*2))
Alguém poderia me dar uma luz?



Postagens
Male
