| |
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 224
<?php
/*------------------------------*/
/*
Titre : Distances routières au Québec
Date édition : 15 Fev 2019
Date mise a jour : 22 Jan 2026
Rapport de la maj:
- fonctionnement du code vérifié en PHP 8
*/
/*------------------------------*/
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) {
} 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);
}
}
}
?>
<?php
/*------------------------------*/
/*
Titre : Distances routières au Québec
Date édition : 15 Fev 2019
Date mise a jour : 22 Jan 2026
Rapport de la maj:
- fonctionnement du code vérifié en PHP 8
*/
/*------------------------------*/
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) {
} 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);
}
}
}
?>
|