Example #1
0
 /**
  * @return array
  */
 public function ufPorCepProvider()
 {
     $out = [];
     foreach (Cep::getIntervalosDeCep() as $uf => $intervalosCep) {
         foreach ($intervalosCep as $intervalo) {
             foreach ($intervalo as $cep) {
                 $out[] = array_merge([$uf], [$cep]);
             }
         }
     }
     return $out;
 }
Example #2
0
 /**
  * @param $cep
  * @return string
  * @throws EnderecoInvalidoException
  */
 public static function getUfPorCep($cep)
 {
     foreach (Cep::getIntervalosDeCep() as $uf => $intervalos) {
         foreach ($intervalos as $ceps) {
             $prefixoCep = substr($cep, 0, 3);
             $prefixoInicial = substr($ceps[0], 0, 3);
             $prefixoFinal = substr($ceps[1], 0, 3);
             if ($prefixoCep >= $prefixoInicial && $prefixoCep <= $prefixoFinal) {
                 return $uf;
             }
         }
     }
     throw new EnderecoInvalidoException('O CEP ' . $cep . ' não pertence a nenhum estado.');
 }