Pular para o conteúdo principal

Descobrir o estado de origem tendo a placa do veículo

Fiz uma função que retorna a UF de origem da placa. Ela não garante que a UF seja a atual, pois quando um veículo é transferido para outro estado o número da placa se mantém, alterando apenas a cidade e UF.


/**
 * Retorna a sigla de origem da UF da placa
 * @return string UF
 */
function getUFPlaca($nr_placa) {
$placa = fPlaca($nr_placa,2);
$result = "";
if ($nr_placa >= 'AAA0001' && $nr_placa <= 'BEZ 9999') {
$result = 'PR';
} else if ($nr_placa >= 'BFA0001' && $nr_placa <= 'GKI9999') {
$result = 'SP';
} else if ($nr_placa >= 'GKJ0001' && $nr_placa <= 'HOK9999') {
$result = 'MG';
} else if ($nr_placa >= 'HOL0001' && $nr_placa <= 'HQE9999') {
$result = 'MA';
} else if ($nr_placa >= 'HQF0001' && $nr_placa <= 'HTW9999') {
$result = 'MT';
} else if ($nr_placa >= 'HTX0001' && $nr_placa <= 'HZA9999') {
$result = 'CE';
} else if ($nr_placa >= 'HZB0001' && $nr_placa <= 'IAP9999') {
$result = 'SE';
} else if ($nr_placa >= 'IAQ0001' && $nr_placa <= 'JDO9999') {
$result = 'RS';
} else if ($nr_placa >= 'JDP0001' && $nr_placa <= 'JKR9999') {
$result = 'DF';
} else if ($nr_placa >= 'JKS0001' && $nr_placa <= 'JSZ9999') {
$result = 'BA';
} else if ($nr_placa >= 'JTA0001' && $nr_placa <= 'JWE9999') {
$result = 'PA';
} else if ($nr_placa >= 'JWF0001' && $nr_placa <= 'JXY9999') {
$result = 'AM';
} else if ($nr_placa >= 'JXZ0001' && $nr_placa <= 'KAU9999') {
$result = 'MT';
} else if ($nr_placa >= 'KAV0001' && $nr_placa <= 'KFC9999') {
$result = 'GO';
} else if ($nr_placa >= 'KFD0001' && $nr_placa <= 'KME9999') {
$result = 'PE';
} else if ($nr_placa >= 'KMF0001' && $nr_placa <= 'LVE9999') {
$result = 'RJ';
} else if ($nr_placa >= 'LVF0001' && $nr_placa <= 'LWQ9999') {
$result = 'PI';
} else if ($nr_placa >= 'LWR0001' && $nr_placa <= 'MMM9999') {
$result = 'SC';
} else if ($nr_placa >= 'MMN0001' && $nr_placa <= 'MOW9999') {
$result = 'PB';
} else if ($nr_placa >= 'MOX0001' && $nr_placa <= 'MTZ9999') {
$result = 'ES';
} else if ($nr_placa >= 'MUA0001' && $nr_placa <= 'MVK9999') {
$result = 'AL';
} else if ($nr_placa >= 'MVL0001' && $nr_placa <= 'MXG9999 ') {
$result = 'TO';
} else if ($nr_placa >= 'MXH0001' && $nr_placa <= 'MZM9999') {
$result = 'RN';
} else if ($nr_placa >= 'MZN0001' && $nr_placa <= 'NAG9999') {
$result = 'AC';
} else if ($nr_placa >= 'NAH0001' && $nr_placa <= 'NBA9999 ') {
$result = 'RR';
} else if ($nr_placa >= 'NBB0001' && $nr_placa <= 'NEH9999') {
$result = 'RO';
} else if ($nr_placa >= 'NEI0001' && $nr_placa <= 'NFB9999') {
$result = 'AP';
} else if ($nr_placa >= 'NFC0001' && $nr_placa <= 'NGZ9999') {
$result = 'GO';
} else if ($nr_placa >= 'NHA0001' && $nr_placa <= 'NHT9999') {
$result = 'MA';
} else if ($nr_placa >= 'NHU0001' && $nr_placa <= 'NIX9999') {
$result = 'PI';
} else if ($nr_placa >= 'NIY0001' && $nr_placa <= 'NJW9999') {
$result = 'MT';
} else if ($nr_placa >= 'NJX0001' && $nr_placa <= 'NLU9999') {
$result = 'GO';
} else if ($nr_placa >= 'NLV0001' && $nr_placa <= 'NMN9999') {
$result = 'AL';
} else if ($nr_placa >= 'NMO0001' && $nr_placa <= 'NNI9999') {
$result = 'MA';
} else if ($nr_placa >= 'NNJ0001' && $nr_placa <= 'NNS9999') {
$result = 'RN';
} else if ($nr_placa >= 'NOI0001' && $nr_placa <= 'NPB9999 ') {
$result = 'AM';
} else if ($nr_placa >= 'NPC0001' && $nr_placa <= 'NPQ9999') {
$result = 'MT';
} else if ($nr_placa >= 'NQL0001' && $nr_placa <= 'NRC9999') {
$result = 'CE';
}
return $result;
}


Comentários

Postagens mais visitadas deste blog

Lista de órgãos emissores de RG

Para quem quiser normalizar os órgãos emissores de RG, aí vai uma lista retirada do site da FGV: SSP - Secretaria de Segurança Pública PM - Polícia Militar PC - Policia Civil CNT - Carteira Nacional de Habilitação DIC - Diretoria de Identificação Civil CTPS - Carteira de Trabaho e Previdência Social FGTS - Fundo de Garantia do Tempo de Serviço IFP - Instituto Félix Pacheco IPF - Instituto Pereira Faustino IML - Instituto Médico-Legal MTE - Ministério do Trabalho e Emprego MMA - Ministério da Marinha MAE - Ministério da Aeronáutica MEX - Ministério do Exército POF - Polícia Federal POM - Polícia Militar SES - Carteira de Estrangeiro SJS - Secretaria da Justiça e Segurança SJTS - Secretaria da Justiça do Trabalho e Segurança ZZZ - Outros (inclusive exterior)

Comparar dois números float em PHP

Para não passar raiva comparando dois números float com PHP nunca faça algo do tipo abaixo: $a = 0.1; $b = 0.2; if ($a + $b == 0.3) {     echo 'Igual'; } else {     echo 'Diferentes'; } Se fizer isso, vai ver que dá problema devido ao modo como o PHP guarda os valores float. Para resolver isso criei a função abaixo para comparar dois valores do tipo float. /** * Esta função recebe dois números como parâmetro.   * Se os números forem iguais, ou seja, se a diferença  * entre eles for menor que a margem de erro aceitável,   * a função retorna 0, caso contrário retorna -1 se o  * primeiro número for menor, * ou então 1 caso o segundo  * seja o menor   * @param float $a   * @param float $b   * @return 0 (igual), -1($num1 menor), 1($num2 menor)   */ function compara_float( $num1 , $num2 , $precisao = 5 ) {   $desprezar = pow ( 0.1 , $precisao );   $diff = abs ( $num1 - $...