Created
July 23, 2021 18:37
-
-
Save GuilhermeRossato/455da1910468bd2f216e7b5b3c70a29c to your computer and use it in GitHub Desktop.
A PHP Function to retrieve state from zip code in Brazil / Função PHP para retornar a sigla do estado dado um CEP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function getBrazilStateFromZipCode($cep = '') { | |
$cepNum = intval(preg_replace("/[^0-9]/", "", $cep)); | |
if ($cepNum >= 69900000 && $cepNum <= 69999999) { | |
return "AC"; | |
} else if ($cepNum >= 57000000 && $cepNum <= 57999999) { | |
return "AL"; | |
} else if ($cepNum >= 69000000 && $cepNum <= 69299999) { | |
return "AM"; | |
} else if ($cepNum >= 69400000 && $cepNum <= 69899999) { | |
return "AM"; | |
} else if ($cepNum >= 68900000 && $cepNum <= 68999999) { | |
return "AP"; | |
} else if ($cepNum >= 40000000 && $cepNum <= 48999999) { | |
return "BA"; | |
} else if ($cepNum >= 60000000 && $cepNum <= 63999999) { | |
return "CE"; | |
} else if ($cepNum >= 70000000 && $cepNum <= 72799999) { | |
return "DF"; | |
} else if ($cepNum >= 73000000 && $cepNum <= 73699999) { | |
return "DF"; | |
} else if ($cepNum >= 29000000 && $cepNum <= 29999999) { | |
return "ES"; | |
} else if ($cepNum >= 72800000 && $cepNum <= 72999999) { | |
return "GO"; | |
} else if ($cepNum >= 73700000 && $cepNum <= 76799999) { | |
return "GO"; | |
} else if ($cepNum >= 65000000 && $cepNum <= 65999999) { | |
return "MA"; | |
} else if ($cepNum >= 30000000 && $cepNum <= 39999999) { | |
return "MG"; | |
} else if ($cepNum >= 79000000 && $cepNum <= 79999999) { | |
return "MS"; | |
} else if ($cepNum >= 78000000 && $cepNum <= 78899999) { | |
return "MT"; | |
} else if ($cepNum >= 66000000 && $cepNum <= 68899999) { | |
return "PA"; | |
} else if ($cepNum >= 58000000 && $cepNum <= 58999999) { | |
return "PB"; | |
} else if ($cepNum >= 50000000 && $cepNum <= 56999999) { | |
return "PE"; | |
} else if ($cepNum >= 64000000 && $cepNum <= 64999999) { | |
return "PI"; | |
} else if ($cepNum >= 80000000 && $cepNum <= 87999999) { | |
return "PR"; | |
} else if ($cepNum >= 20000000 && $cepNum <= 28999999) { | |
return "RJ"; | |
} else if ($cepNum >= 59000000 && $cepNum <= 59999999) { | |
return "RN"; | |
} else if ($cepNum >= 76800000 && $cepNum <= 76999999) { | |
return "RO"; | |
} else if ($cepNum >= 69300000 && $cepNum <= 69399999) { | |
return "RR"; | |
} else if ($cepNum >= 90000000 && $cepNum <= 99999999) { | |
return "RS"; | |
} else if ($cepNum >= 88000000 && $cepNum <= 89999999) { | |
return "SC"; | |
} else if ($cepNum >= 49000000 && $cepNum <= 49999999) { | |
return "SE"; | |
} else if ($cepNum >= 01000000 && $cepNum <= 19999999) { | |
return "SP"; | |
} else if ($cepNum >= 77000000 && $cepNum <= 77999999) { | |
return "TO"; | |
} else { | |
throw new Exception("CEP nao esta dentro de uma faixa de estados do Brasil"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment