Administrators chain Posted March 17, 2010 Administrators Report Share Posted March 17, 2010 Petite fonction simple, mais monotone à faire, qui permet de connaître le nom d'un département français à partir de son numéros (et l'inverse : son numéros à partir de son département) ainsi que le nombre total de départements. Morceau de code pas vraiment compliqué, mais utile quand on n'a pas envie de s'embêter à taper toute la liste... Issue du tableau $ListeDepts (précédemment posté et que cette source remplace), les valeurs sont extraites d'une seule commande. >/* getDept by OwInTwIsT (a.k.a) Clovis Gauzy In GPL license http://owintwist.free.fr */ // --- Exemples /* Retourne le nom du département depuis son numéros */ echo getDept('47'); /* Renvoi : Lot & Garonne */ /* Retourne le nom du département depuis son numéros */ echo getDept('Cavaldos'); /* Renvoi : 14 */ /* Retourne le nombre de départements français */ echo getDept('0'); /* Renvoi : 107 */ // --- Source function getDept($U) { if ($U) { $ListeDepts = array ( '1' => 'Ain', '2' => 'Aisne', '3' => 'Allier', '4' => 'Alpes de Hautes Provences', '5' => 'Hautes Alpes', '6' => 'Alpes Maritimes', '7' => 'Ardèche', '8' => 'Ardennes', '9' => 'Ariège', '10' => 'Aube', '11' => 'Aude', '12' => 'Aveyron', '13' => 'Bouches du Rhônes', '14' => 'Calvados', '15' => 'Cantal', '16' => 'Charente', '17' => 'Charente-Maritime', '18' => 'Cher', '19' => 'Corrèze', '2A' => 'Haute Corse', '2B' => 'Corse du Sud', '21' => 'Côte d\'Or', '22' => 'Côtes d\'Armor', '23' => 'Creuse', '24' => 'Dordogne', '25' => 'Doubs', '26' => 'Drôme', '27' => 'Eure', '28' => 'Eure & Loir', '29' => 'Finistère', '30' => 'Gard', '31' => 'Haute Garonne', '32' => 'Gers', '33' => 'Gironde', '34' => 'Hérault', '35' => 'Ille & Vilaine', '36' => 'Indre', '37' => 'Indre & Loire', '38' => 'Isère', '39' => 'Jura', '40' => 'Landes', '41' => 'Loir & Cher', '42' => 'Loire', '43' => 'Haute Loire', '44' => 'Loire Atlantique', '45' => 'Loiret', '46' => 'Lot', '47' => 'Lot & Garonne', '48' => 'Lozère', '49' => 'Maine & Loire', '50' => 'Manche', '51' => 'Marne', '52' => 'Haute Marne', '53' => 'Mayenne', '54' => 'Meurthe & Moselle', '55' => 'Meuse', '56' => 'Morbihan', '57' => 'Moselle', '58' => 'Nièvre', '59' => 'Nord', '60' => 'Oise', '61' => 'Orne', '62' => 'Pas-de-Calais', '63' => 'Puy-de-Dôme', '64' => 'Pyrénées Atlantiques', '65' => 'Hautes Pyrénées', '66' => 'Pyrénées Orientales', '67' => 'Bas Rhin', '68' => 'Haut Rhin', '69' => 'Rhône', '70' => 'Haute Saône', '71' => 'Saone & Loire', '72' => 'Sarthe', '73' => 'Savoie', '74' => 'Haute Savoie', '75' => 'Ville de Paris', '76' => 'Seine Maritime', '77' => 'Seine & Marne', '78' => 'Yveline', '79' => 'Deux Sèvres', '80' => 'Somme', '81' => 'Tarn', '82' => 'Tarn & Garonne', '83' => 'Var', '84' => 'Vaucluse', '85' => 'Vendée', '86' => 'Vienne', '87' => 'Haute Vienne', '88' => 'Vosges', '89' => 'Yonne', '90' => 'Territoire de Belfort', '91' => 'Essonne', '92' => 'Hauts-de-Seine', '93' => 'Seine St Denis', '94' => 'Val de Marne', '95' => 'Val d\'Oise', // Départements d'Outre-Mer '971' => 'Guadeloupe', '972' => 'Martinique', '973' => 'Guyane', '974' => 'Réunion', // Territoires d'Outre-Mer '975' => 'Saint-Pierre-et-Miquelon', '976' => 'Mayotte', '977' => 'Saint-Barthélémy', '978' => 'Saint-Martin', '986' => 'Wallis-et-Futuna', '987' => 'Polynésie française', '988' => 'Nouvelle-Calédonie' ); if (is_numeric($U) OR $U == '2A' OR $U == '2B') return $ListeDepts[$U]; return array_search($U,$ListeDepts); } return '107'; } Link to comment Share on other sites More sharing options...