01 | | 02 | | 03 | | 04 | | 05 | | 06 | | 07 | | 08 | | 09 | | 10 | | 11 | | 12 | | 13 | | 14 | | 15 | | 16 | | 17 | | 18 | | 19 | | 20 | | 21 | | 22 | | 23 | | 24 | | 25 | | 26 | | 27 | | 28 | | 29 | | 30 | | 31 | | 32 | | 33 | | 34 | | 35 | | 36 | | 37 | | 38 | | 39 | | 40 | | 41 | | 42 | | 43 | | 44 | | 45 | | 46 | | 47 | | 48 | | 49 | | 50 | | 51 | | 52 | | 53 | | 54 | | 55 | | 56 | | 57 | | 58 | | 59 | | 60 | | 61 | | 62 | | 63 | | 64 | | 65 | | 66 | | 67 | | 68 | | 69 | | 70 | | 71 | | 72 | | 73 | | 74 | | 75 | | 76 | | 77 | | 78 | | 79 | | 80 | | 81 | | 82 | | 83 | | 84 | | 85 | | 86 | | 87 | | 88 | | 89 | | 90 | | 91 | | 92 | | 93 | | 94 | | 95 | | 96 | | 97 | | 98 | | 99 | | 100 | | 101 | | 102 | | 103 | | 104 | | 105 | | 106 | | 107 | | 108 | | 109 | | 110 | | 111 | | 112 | | 113 | | 114 | | 115 | | 116 | | 117 | | 118 | | 119 | | 120 | | 121 | | 122 | | 123 | | 124 | | 125 | | 126 | | 127 | | 128 | | 129 | | 130 | | 131 | | 132 | | 133 | | 134 | | 135 | | 136 | | 137 | | 138 | | 139 | | 140 | | 141 | | 142 | | 143 | | 144 | | 145 | | 146 | | 147 | | 148 | | 149 | | 150 | | 151 | | 152 | | 153 | | 154 | | 155 | | 156 | | 157 | | 158 | | 159 | | 160 | | 161 | | 162 | | 163 | | 164 | | 165 | | 166 | | 167 | | 168 | | 169 | | 170 | | 171 | | 172 | | 173 | | 174 | | 175 | | 176 | | 177 | | 178 | | 179 | | 180 | | 181 | | 182 | | 183 | | 184 | | 185 | | 186 | | 187 | | 188 | | 189 | | 190 | | 191 | | 192 | | 193 | | 194 | | 195 | | 196 | | 197 | | 198 | | 199 | | 200 | | 201 | | 202 | | 203 | | 204 | | 205 | | 206 | | 207 | | 208 | | 209 | | 210 | | 211 | | 212 | | 213 | | 214 | | 215 | | 216 | | 217 | | 218 | | 219 | | 220 | | 221 | | 222 | | 223 | |
|
<?php
| /*---------------------------------------------------------------*/
| /*
| Titre : Distances routières au Québec
|
| URL : https://phpsources.net/code_s.php?id=1002
| Date édition : 15 Fév 2019
| */
| /*---------------------------------------------------------------*/
|
| function distances_au_quebec($ville1 , $ville2 , $type=true){
|
| // ce script est la version PHP des informations disponibles sur le site du
| // gouvernement du québec.
| // http://www.mtq.gouv.qc.ca/faq/distances.htm
|
| // Si type == true, distances_au_quebec retourne uniquement la distance,
| // sous forme de nombre.
|
| // Si type == false, distances_au_quebec retourne la distance et l'utilisation
| // d'un traversier.
| // sous forme d'un tableau.
| // les index 'distance' et 0, du tableau représentent la distance (entier)
|
| // les index 'traversier' et 1, du tableau représentent l'utilisation du
| // traversier (booleen)
|
|
| $villes = array(
| "Baie-Comeau" => 0,
| "Chibougamau" => 1,
| "Chicoutimi" => 2,
| "Drummondville" => 3,
| "Gaspe" => 4,
| "Granby" => 5,
| "Havre-Aubert" => 6,
| "Hull" => 7,
| "Joliette" => 8,
| "Lac-Mégantic" => 9,
| "La Malbaie" => 10,
| "La Tuque" => 11,
| "Matagami" => 12,
| "Matane" => 13,
| "Mirabel" => 14,
| "Mont-Laurier" => 15,
| "Montmagny" => 16,
| "Montreal" => 17,
| "New Carlisle" => 18,
| "Québec" => 19,
| "Rimouski" => 20,
| "Riviere-du-Loup" => 21,
| "Roberval" => 22,
| "Rouyn-Noranda" => 23,
| "Sainte-Agathe-des-Monts" => 24,
| "Sainte-Anne-des-Monts" => 25,
| "Saint-Georges" => 26,
| "Saint-Hyacinthe" => 27,
| "Saint-Jean-sur-Richelieu" => 28,
| "Sherbrooke" => 29,
| "Sorel" => 30,
| "Salaberry-de-Valleyfield" => 31,
| "Sept-iles" => 32,
| "Shawinigan" => 33,
| "Thetford Mines" => 34,
| "Trois-Rivieres" => 35,
| "Val-d'Or" => 36,
| "Victoriaville" => 37,
| "Ville-Marie" => 38,
| "Boston" => 39,
| "Moncton" => 40,
| "New York" => 41,
| "Toronto" => 42
| );
|
| // tester?
| $ville1 = $villes[$ville1];
| $ville2 = $villes[$ville2];
|
| if ($ville1 < $ville2){
| $v = $ville1;
| $ville1=$ville2;
| $ville2 = $v;
| }
|
| if ($ville1 == $ville2){
|
| return 0;
| }
|
| $d[1] = array("679");
| $d[2] = array("316", "363");
| $d[3] = array("575", "645", "364");
| $d[4] = array("*337", "*1039", "*649", "869");
| $d[5] = array("655", "748", "444", "80", "950");
| $d[6] = array("*669", "*1356", "*994", "*1168", "*839", "*1238");
| $d[7] = array("869", "725", "662", "303", "1124", "282", "*1465");
| $d[8] = array("635", "660", "425", "100", "910", "159", "*1260", "216");
| $d[9] = array("602", "694", "390", "187", "895", "193", "*1195", "457", "269");
|
| $d[10] = array("273", "549", "186", "302", "*572", "382", "*872", "596", "363",
| "328");
| $d[11] = array("534", "407", "217", "239", "919", "318", "*1331", "482", "254",
| "350", "391");
| $d[12] = array("1434", "571", "910", "893", "1697", "866", "*2055", "680",
| "1089", "1040", "1163", "1057");
| $d[13] = array("*", "*679", "*354", "532", "337", "613", "*669", "828", "623",
| "458", "*235", "633", "1404");
| $d[14] = array("706", "757", "500", "168", "970", "141", "*1330", "142", "72",
| "315", "436", "319", "738", "684");
| $d[15] = array("890", "640", "693", "349", "1153", "322", "*1511", "208", "249"
| ,"496", "631", "513", "544", "874", "198");
| $d[16] = array("*329", "595", "291", "203", "618", "283", "*964", "502", "280",
| "229", "229", "305", "1083", "329", "368", "540");
| $d[17] = array("676", "700", "464", "111", "930", "84", "*1272", "207", "75",
| "258", "405", "294", "782", "636", "57", "238", "311");
| $d[18] = array("*300", "*940", "*593", "771", "192", "846", "*642", "1067",
| "845", "792", "*470", "820", "1648", "293", "922", "1104", "567", "872");
| $d[19] = array("422", "515", "211", "153", "700", "233", "*1042", "451", "214",
| "179", "149", "239", "1022", "406", "290", "477", "80", "253", "645");
| $d[20] = array("*93", "*608", "*264", "438", "382", "519", "*709", "736", "520"
| ,"465", "*142", "537", "1311", "93", "590", "772", "235", "539", "332", "312");
| $d[21] = array("*237", "*520", "*157", "332", "538", "411", "*837", "628","406"
| , "358", "*35", "430", "1209", "200", "482", "665", "127", "436", "439", "206",
| "107");
| $d[22] = array("417", "244", "101", "389", "*749", "468", "*1094", "632", "404"
| ,"438", "287", "150", "791", "*445", "480", "650", "339", "448", "*685", "259",
| "*352","*257");
| $d[23] = array("1304", "493", "831", "739", "1559", "719", "*1901", "536","650"
| , "893", "1032", "900", "288", "1265", "598", "400", "939", "638", "1500", "877"
| ,"1167", "1065", "725");
| $d[24] = array("741", "761", "530", "172", "961", "145", "*1333", "195", "136",
| "311", "468", "355", "843", "697", "118", "299", "372", "61", "933", "319",
| "605", "497","509", "700");
| $d[25] = array("232", "906", "543", "805", "*567", "884", "*871", "1096", "864"
| ,"831", "503", "891", "1477", "*232", "935", "1118", "*561", "904", "*518",
| "652", "*325","*466", "643", "1532", "965");
| $d[26] = array("585", "534", "399", "111", "850", "190", "*1213", "354", "126",
| "222", "314", "128", "929", "562", "198", "385", "235", "166", "800", "169",
| "473", "360","278", "772", "227", "821");
| $d[27] = array("662", "724", "451", "82", "915", "88", "*1257", "347", "218",
| "105", "388", "318", "928", "620", "204", "384", "295", "147", "855", "240",
| "527", "420","467", "782", "206", "886", "190");
| $d[28] = array("631", "656", "419", "66", "924", "92", "*1225", "281", "34",
| "248", "357", "250", "883", "587", "158", "339", "270", "88", "826", "208",
| "494", "398","400", "718", "151", "860", "122", "143");
| $d[29] = array("755", "803", "557", "214", "1019", "187", "*1375", "201", "109"
| ,"360", "484", "377", "679", "739", "58", "140", "404", "103", "970", "338",
| "632", "539","528", "537", "164", "984", "235", "248", "201");
| $d[30] = array("*86", "*790", "*442", "620", "201", "701", "*735", "916", "693"
| ,"646", "*323", "718", "1493", "86", "770", "949", "417", "724", "188", "494",
| "182","288", "*543", "1353", "785", "*316", "655", "708", "675", "814");
| $d[31] = array("524", "617", "313", "247", "818", "246", "*1117", "525", "319",
| "77", "251", "327", "1116", "481", "391", "572", "152", "334", "719", "102",
| "387", "281","360", "961", "395", "754", "273", "158", "266", "437", "569");
| $d[32] = array("622", "692", "410", "47", "916", "34", "*1215", "256", "139",
| "222", "349", "285", "846", "578", "121", "302", "250", "64", "817", "200",
| "485", "379","435", "692", "125", "852", "157", "117", "58", "167", "667", "275"
| );
| $d[33] = array("678", "766", "462", "103", "967", "61", "*1271", "239", "115",
| "254", "400", "341", "822", "635", "97", "278", "306", "40", "873", "251", "536"
| , "434","497", "676", "88", "903", "214", "134", "88", "143", "723", "307", "56"
| );
| $d[34] = array("527", "520", "315", "130", "821", "195", "*1120", "432", "226",
| "101", "254", "307", "1023", "484", "298", "479", "155", "241", "722", "105",
| "390","284", "364", "868", "302", "757", "179", "107", "196", "344", "572", "70"
| , "177","232");
| $d[35] = array("545", "574", "338", "71", "808", "151", "*1173", "331", "86",
| "183", "274", "167", "889", "522", "162", "345", "194", "142", "759", "130",
| "427", "320","318", "747", "238", "774", "40", "158", "82", "210", "607", "217",
| "118", "169", "140");
| $d[36] = array("1183", "396", "747", "642", "1446", "615", "*1804", "429","538"
| , "789", "912", "806", "251", "1153", "487", "293", "832", "531", "1397", "771",
| "1060", "958", "640", "107", "592", "1302", "678", "677", "632", "428", "1242",
| "865", "595", "571", "772", "638");
| $d[37] = array("539", "639", "327", "53", "833", "137", "*1132", "356", "152",
| "118", "266", "233", "946", "496", "221", "402", "167", "164", "734", "117",
| "402", "295","384", "792", "225", "769", "105", "97", "119", "267", "584", "140"
| , "100", "156", "70","65", "695");
| $d[38] = array("1353", "626", "964", "786", "1605", "749", "*1947", "479","800"
| , "933", "1067", "969", "421", "1311", "621", "533", "986", "675", "1550", "918"
| ,"1203", "1111", "858", "133", "614", "1579", "841", "816", "776", "680", "1399"
| , "1009","739", "715", "916", "799", "240", "839");
| $d[39] = array("1040", "1133", "829", "520", "1353", "526", "*1077", "718",
| "586", "543", "767", "756", "1294", "1023", "569", "750", "698", "512", "1034",
| "618","930", "823", "876", "1150", "528", "1270", "636", "438", "571", "615",
| "1112", "521","555", "572", "545", "596", "1043", "535", "1187");
| $d[40] = array("*434", "*1111", "*749", "924", "645", "1003", "*245", "1220",
| "1015", "950", "*627", "1086", "1810", "434", "1085", "1266", "719", "1028",
| "453", "798","511", "592", "*849", "1657", "1089", "*666", "969", "1012", "990",
| "1131", "541", "873","971", "1026", "876", "929", "1559", "887", "1703", "832")
| ;
| $d[41] = array("*1234", "1308", "1045", "719", "1550", "691", "*1425", "814",
| "682", "786", "983", "917", "1390", "1240", "665", "846", "914", "608", "1360",
| "824", "1146", "1039", "1056", "1246", "624", "1486", "774", "657", "709", "711"
| , "1328", "815", "672", "568", "764", "750", "1139", "754", "1283", "331",
| "1180");
| $d[42] = array("1224", "1124", "1000", "657", "1476", "630", "*1818", "399",
| "621", "804", "951", "840", "964", "1182", "603", "607", "857", "546", "1420",
| "802", "1085", "982", "990", "606", "485", "1449", "712", "693", "647", "600",
| "1270", "880","610", "586", "787", "688", "713", "710", "507", "867", "1574",
| "781");
|
| if ($type) {
| return str_replace("*", '', $d[$ville1][$ville2]);
| } else {
| if ($d[$ville1][$ville2][0] == '*'){
| $distance = str_replace("*", '', $d[$ville1][$ville2]);
| return array('distance' => $dist,
| 0 => $dist,
| 'traversier' => TRUE,
| 1 => TRUE);
| } else {
| return array('distance' => $d[$ville1][$ville2][0],
| 0 => $d[$ville1][$ville2][0],
| 'traversier' => FALSE,
| 1 => FALSE);
| }
| }
| }
|
| ?>
|
| |
|