htmlcss.fr Des tutos ou tutoriels Wordpress, html, php ou javascript.

PHP: Département / région depuis un code postal

P

Bon rien d’extraordinaire ici. Voici une petite fonction PHP qui retourne la région et le département en fonction d’un code postal. Valable pour la France uniquement.
La fonction retourne false si ce qu’on lui donne ne correspond à rien.
C’est pas très fun à écrire donc si ça peut servir à quelqu’un…

function get_region_departement($cp)
 {
  $cp = trim($cp);
  $num = substr($cp, 0, 2);
  if($num === '97') {
    $num = substr($cp, 0, 3);
  }
  $tab = [
    '01' => [ 'departement' => "Ain", 'region' => "Auvergne-Rhône-Alpes"],
    '02' => [ 'departement' => "Aisne", 'region' => "Hauts-de-France"],
    '03' => [ 'departement' => "Allier", 'region' => "Auvergne-Rhône-Alpes"],
    '04' => [ 'departement' => "Alpes-de-Haute-Provence", 'region' => "Provence-Alpes-Côte d'Azur"],
    '05' => [ 'departement' => "Hautes-Alpes", 'region' => "Provence-Alpes-Côte d'Azur"],
    '06' => [ 'departement' => "Alpes-Maritimes", 'region' => "Provence-Alpes-Côte d'Azur"],
    '07' => [ 'departement' => "Ardèche", 'region' => "Auvergne-Rhône-Alpes"],
    '08' => [ 'departement' => "Ardennes", 'region' => "Grand Est"],
    '09' => [ 'departement' => "Ariège", 'region' => "Occitanie"],
    '10' => [ 'departement' => "Aube", 'region' => "Grand Est"],
    '11' => [ 'departement' => "Aude", 'region' => "Occitanie"],
    '12' => [ 'departement' => "Aveyron", 'region' => "Occitanie"],
    '13' => [ 'departement' => "Bouches-du-Rhône", 'region' => "Provence-Alpes-Côte d'Azur"],
    '14' => [ 'departement' => "Calvados", 'region' => "Normandie"],
    '15' => [ 'departement' => "Cantal", 'region' => "Auvergne-Rhône-Alpes"],
    '16' => [ 'departement' => "Charente", 'region' => "Nouvelle-Aquitaine"],
    '17' => [ 'departement' => "Charente-Maritime", 'region' => "Nouvelle-Aquitaine"],
    '18' => [ 'departement' => "Cher", 'region' => "Centre-Val de Loire"],
    '19' => [ 'departement' => "Corrèze", 'region' => "Nouvelle-Aquitaine"],
    '2A' => [ 'departement' => "Corse-du-Sud", 'region' => "Corse"],
    '2B' => [ 'departement' => "Haute-Corse", 'region' => "Corse"],
    '21' => [ 'departement' => "Côte-d'Or", 'region' => "Bourgogne-Franche-Comté"],
    '22' => [ 'departement' => "Côtes d'Armor", 'region' => "Bretagne"],
    '23' => [ 'departement' => "Creuse", 'region' => "Nouvelle-Aquitaine"],
    '24' => [ 'departement' => "Dordogne", 'region' => "Nouvelle-Aquitaine"],
    '25' => [ 'departement' => "Doubs", 'region' => "Bourgogne-Franche-Comté"],
    '26' => [ 'departement' => "Drôme", 'region' => "Auvergne-Rhône-Alpes"],
    '27' => [ 'departement' => "Eure", 'region' => "Normandie"],
    '28' => [ 'departement' => "Eure-et-Loir", 'region' => "Centre-Val de Loire"],
    '29' => [ 'departement' => "Finistère", 'region' => "Bretagne"],
    '30' => [ 'departement' => "Gard", 'region' => "Occitanie"],
    '31' => [ 'departement' => "Haute-Garonne", 'region' => "Occitanie"],
    '32' => [ 'departement' => "Gers", 'region' => "Occitanie"],
    '33' => [ 'departement' => "Gironde", 'region' => "Nouvelle-Aquitaine"],
    '34' => [ 'departement' => "Hérault", 'region' => "Occitanie"],
    '35' => [ 'departement' => "Ille-et-Vilaine", 'region' => "Bretagne"],
    '36' => [ 'departement' => "Indre", 'region' => "Centre-Val de Loire"],
    '37' => [ 'departement' => "Indre-et-Loire", 'region' => "Centre-Val de Loire"],
    '38' => [ 'departement' => "Isère", 'region' => "Auvergne-Rhône-Alpes"],
    '39' => [ 'departement' => "Jura", 'region' => "Bourgogne-Franche-Comté"],
    '40' => [ 'departement' => "Landes", 'region' => "Nouvelle-Aquitaine"],
    '41' => [ 'departement' => "Loir-et-Cher", 'region' => "Centre-Val de Loire"],
    '42' => [ 'departement' => "Loire", 'region' => "Auvergne-Rhône-Alpes"],
    '43' => [ 'departement' => "Haute-Loire", 'region' => "Auvergne-Rhône-Alpes"],
    '44' => [ 'departement' => "Loire-Atlantique", 'region' => "Pays de la Loire"],
    '45' => [ 'departement' => "Loiret", 'region' => "Centre-Val de Loire"],
    '46' => [ 'departement' => "Lot", 'region' => "Occitanie"],
    '47' => [ 'departement' => "Lot-et-Garonne", 'region' => "Nouvelle-Aquitaine"],
    '48' => [ 'departement' => "Lozère", 'region' => "Occitanie"],
    '49' => [ 'departement' => "Maine-et-Loire", 'region' => "Pays de la Loire"],
    '50' => [ 'departement' => "Manche", 'region' => "Normandie"],
    '51' => [ 'departement' => "Marne", 'region' => "Grand Est"],
    '52' => [ 'departement' => "Haute-Marne", 'region' => "Grand Est"],
    '53' => [ 'departement' => "Mayenne", 'region' => "Pays de la Loire"],
    '54' => [ 'departement' => "Meurthe-et-Moselle", 'region' => "Grand Est"],
    '55' => [ 'departement' => "Meuse", 'region' => "Grand Est"],
    '56' => [ 'departement' => "Morbihan", 'region' => "Bretagne"],
    '57' => [ 'departement' => "Moselle", 'region' => "Grand Est"],
    '58' => [ 'departement' => "Nièvre", 'region' => "Bourgogne-Franche-Comté"],
    '59' => [ 'departement' => "Nord", 'region' => "Hauts-de-France"],
    '60' => [ 'departement' => "Oise", 'region' => "Hauts-de-France"],
    '61' => [ 'departement' => "Orne", 'region' => "Normandie"],
    '62' => [ 'departement' => "Pas-de-Calais", 'region' => "Hauts-de-France"],
    '63' => [ 'departement' => "Puy-de-Dôme", 'region' => "Auvergne-Rhône-Alpes"],
    '64' => [ 'departement' => "Pyrénées-Atlantiques", 'region' => "Nouvelle-Aquitaine"],
    '65' => [ 'departement' => "Hautes-Pyrénées", 'region' => "Occitanie"],
    '66' => [ 'departement' => "Pyrénées-Orientales", 'region' => "Occitanie"],
    '67' => [ 'departement' => "Bas-Rhin", 'region' => "Grand Est"],
    '68' => [ 'departement' => "Haut-Rhin", 'region' => "Grand Est"],
    '69' => [ 'departement' => "Rhône", 'region' => "Auvergne-Rhône-Alpes"],
    '70' => [ 'departement' => "Haute-Saône", 'region' => "Bourgogne-Franche-Comté"],
    '71' => [ 'departement' => "Saône-et-Loire", 'region' => "Bourgogne-Franche-Comté"],
    '72' => [ 'departement' => "Sarthe", 'region' => "Pays de la Loire"],
    '73' => [ 'departement' => "Savoie", 'region' => "Auvergne-Rhône-Alpes"],
    '74' => [ 'departement' => "Haute-Savoie", 'region' => "Auvergne-Rhône-Alpes"],
    '75' => [ 'departement' => "Paris", 'region' => "Île-de-France"],
    '76' => [ 'departement' => "Seine-Maritime", 'region' => "Normandie"],
    '77' => [ 'departement' => "Seine-et-Marne", 'region' => "Île-de-France"],
    '78' => [ 'departement' => "Yvelines", 'region' => "Île-de-France"],
    '79' => [ 'departement' => "Deux-Sèvres", 'region' => "Nouvelle-Aquitaine"],
    '80' => [ 'departement' => "Somme", 'region' => "Hauts-de-France"],
    '81' => [ 'departement' => "Tarn", 'region' => "Occitanie"],
    '82' => [ 'departement' => "Tarn-et-Garonne", 'region' => "Occitanie"],
    '83' => [ 'departement' => "Var", 'region' => "Provence-Alpes-Côte d'Azur"],
    '84' => [ 'departement' => "Vaucluse", 'region' => "Provence-Alpes-Côte d'Azur"],
    '85' => [ 'departement' => "Vendée", 'region' => "Pays de la Loire"],
    '86' => [ 'departement' => "Vienne", 'region' => "Nouvelle-Aquitaine"],
    '87' => [ 'departement' => "Haute-Vienne", 'region' => "Nouvelle-Aquitaine"],
    '88' => [ 'departement' => "Vosges", 'region' => "Grand Est"],
    '89' => [ 'departement' => "Yonne", 'region' => "Bourgogne-Franche-Comté"],
    '90' => [ 'departement' => "Territoire de Belfort", 'region' => "Bourgogne-Franche-Comté"],
    '91' => [ 'departement' => "Essonne", 'region' => "Île-de-France"],
    '92' => [ 'departement' => "Hauts-de-Seine", 'region' => "Île-de-France"],
    '93' => [ 'departement' => "Seine-St-Denis", 'region' => "Île-de-France"],
    '94' => [ 'departement' => "Val-de-Marne", 'region' => "Île-de-France"],
    '95' => [ 'departement' => "Val-D'Oise", 'region' => "Île-de-France"],
    '971' => [ 'departement' => "Guadeloupe", 'region' => "Guadeloupe"],
    '972' => [ 'departement' => "Martinique", 'region' => "Martinique"],
    '973' => [ 'departement' => "Guyane", 'region' => "Guyane"],
    '974' => [ 'departement' => "La Réunion", 'region' => "La Réunion"],
    '976' => [ 'departement' => "Mayotte", 'region' => "Mayotte"],
  ];
  if(isset($tab[$num])) {
    return $tab[$num];
  }else{
    return false;
  }
}
htmlcss.fr Des tutos ou tutoriels Wordpress, html, php ou javascript.

François Riant

Je m’appelle François Riant. Je travail dans les métiers du web depuis 2006. Mon expérience m’a amené à changer plusieurs fois de technologie.

Aujourd’hui je cherche à partager mon expérience et j’y trouve du de plaisir. Je travail actuellement chez W2P Digital.
Je ne prends donc pas de mission en freelance.

Si vous avez une remarque ou une question; vous pouvez me joindre sur francois.riant@gmail.com