function step($paths, $pathDone, $point, $target, $time, $i, $pointNames, $transportName){
if ($i==0){echo "Начальная точка: $pointNames[$point]<br>";}
$i++;
$pathDone[$i] = $point;
$pointStation = $paths[$point];
foreach ($pointStation as $station => $times){
$canGet[$station] = $times['time'];
}
echo "В итоге ты попадешь в точку $pointNames[$target] за $time мин.<br>";
echo "<br>Exit was found in " . count($pathDone)." steps!<br>"; } else {
foreach ($canGet as $station => $times){
if (in_array($station, $pathDone) != True ){ $info = $pointStation[$station];
$by = $info["by"];
if ($i==1){echo "Из нее $transportName[$by] до точки $pointNames[$station]: $times мин.<br>";}
$time += $times;
$point = $station;
step($paths, $pathDone, $point, $target, $time, $i, $pointNames, $transportName);
echo "Из нее $transportName[$by] до точки $pointNames[$station]: $times мин.<br>";
}
}
/*foreach ($paths[$point] as $station => $times){
if (in_array($station, $pathDone) != True ){
$canGet = $paths[$point][$station];
echo "Ехать $canGet[time] минут посредством $canGet[by] <br>";
$point = $station;
step($paths, $pathDone, $point, $target, $time, $i, $pointNames, $transportName);
}
}*/
}
}
}
ZnVuY3Rpb24gc3RlcCgkcGF0aHMsICRwYXRoRG9uZSwgJHBvaW50LCAkdGFyZ2V0LCAkdGltZSwgJGksICRwb2ludE5hbWVzLCAkdHJhbnNwb3J0TmFtZSl7Cgl2YXJfZHVtcCgkcG9pbnQpOwoJaWYgKCRpPT0wKXtlY2hvICLQndCw0YfQsNC70YzQvdCw0Y8g0YLQvtGH0LrQsDogJHBvaW50TmFtZXNbJHBvaW50XTxicj4iO30KCSRpKys7CgkkcGF0aERvbmVbJGldID0gJHBvaW50OwoJJHBvaW50U3RhdGlvbiA9ICRwYXRoc1skcG9pbnRdOwoJZm9yZWFjaCAoJHBvaW50U3RhdGlvbiBhcyAkc3RhdGlvbiA9PiAkdGltZXMpewoJCSRjYW5HZXRbJHN0YXRpb25dID0gJHRpbWVzWyd0aW1lJ107Cgl9Cglhc29ydCgkY2FuR2V0KTsKCWlmIChhcnJheV9rZXlfZXhpc3RzKCR0YXJnZXQsICRwYXRoc1skcG9pbnRdKSA9PSBUcnVlKXsKCQllY2hvICLQkiDQuNGC0L7Qs9C1INGC0Ysg0L/QvtC/0LDQtNC10YjRjCDQsiDRgtC+0YfQutGDICRwb2ludE5hbWVzWyR0YXJnZXRdINC30LAgJHRpbWUg0LzQuNC9Ljxicj4iOwoJCWVjaG8gIjxicj5FeGl0IHdhcyBmb3VuZCBpbiAiIC4gY291bnQoJHBhdGhEb25lKS4iIHN0ZXBzITxicj4iOwoJCWV4aXQoKTsKCX0gZWxzZSB7CgkJZm9yZWFjaCAoJGNhbkdldCBhcyAkc3RhdGlvbiA9PiAkdGltZXMpewoJCQlpZiAoaW5fYXJyYXkoJHN0YXRpb24sICRwYXRoRG9uZSkgIT0gVHJ1ZSApewoJCQkJJGluZm8gPSAkcG9pbnRTdGF0aW9uWyRzdGF0aW9uXTsKCQkJCSRieSA9ICRpbmZvWyJieSJdOwoJCQkJaWYgKCRpPT0xKXtlY2hvICLQmNC3INC90LXQtSAkdHJhbnNwb3J0TmFtZVskYnldINC00L4g0YLQvtGH0LrQuCAkcG9pbnROYW1lc1skc3RhdGlvbl06ICR0aW1lcyDQvNC40L0uPGJyPiI7fQoJCQkJJHRpbWUgKz0gJHRpbWVzOwoJCQkJJHBvaW50ID0gJHN0YXRpb247CgkJCQlzdGVwKCRwYXRocywgJHBhdGhEb25lLCAkcG9pbnQsICR0YXJnZXQsICR0aW1lLCAkaSwgJHBvaW50TmFtZXMsICR0cmFuc3BvcnROYW1lKTsKCQkJCWVjaG8gItCY0Lcg0L3QtdC1ICR0cmFuc3BvcnROYW1lWyRieV0g0LTQviDRgtC+0YfQutC4ICRwb2ludE5hbWVzWyRzdGF0aW9uXTogJHRpbWVzINC80LjQvS48YnI+IjsKCQkJfQoJCX0KCQkvKmZvcmVhY2ggKCRwYXRoc1skcG9pbnRdIGFzICRzdGF0aW9uID0+ICR0aW1lcyl7CgkJCWlmIChpbl9hcnJheSgkc3RhdGlvbiwgJHBhdGhEb25lKSAhPSBUcnVlICl7CgkJCQkkY2FuR2V0ID0gJHBhdGhzWyRwb2ludF1bJHN0YXRpb25dOwoJCQkJZWNobyAi0JXRhdCw0YLRjCAkY2FuR2V0W3RpbWVdINC80LjQvdGD0YIg0L/QvtGB0YDQtdC00YHRgtCy0L7QvCAkY2FuR2V0W2J5XSA8YnI+IjsKCQkJCSRwb2ludCA9ICRzdGF0aW9uOwoJCQkJc3RlcCgkcGF0aHMsICRwYXRoRG9uZSwgJHBvaW50LCAkdGFyZ2V0LCAkdGltZSwgJGksICRwb2ludE5hbWVzLCAkdHJhbnNwb3J0TmFtZSk7CgkJCQkKCQkJfQoJCX0qLwoJCgl9Cn0KfQ==
function step($paths, $pathDone, $point, $target, $time, $i, $pointNames, $transportName){
var_dump($point);
if ($i==0){echo "Начальная точка: $pointNames[$point]<br>";}
$i++;
$pathDone[$i] = $point;
$pointStation = $paths[$point];
foreach ($pointStation as $station => $times){
$canGet[$station] = $times['time'];
}
asort($canGet);
if (array_key_exists($target, $paths[$point]) == True){
echo "В итоге ты попадешь в точку $pointNames[$target] за $time мин.<br>";
echo "<br>Exit was found in " . count($pathDone)." steps!<br>";
exit();
} else {
foreach ($canGet as $station => $times){
if (in_array($station, $pathDone) != True ){
$info = $pointStation[$station];
$by = $info["by"];
if ($i==1){echo "Из нее $transportName[$by] до точки $pointNames[$station]: $times мин.<br>";}
$time += $times;
$point = $station;
step($paths, $pathDone, $point, $target, $time, $i, $pointNames, $transportName);
echo "Из нее $transportName[$by] до точки $pointNames[$station]: $times мин.<br>";
}
}
/*foreach ($paths[$point] as $station => $times){
if (in_array($station, $pathDone) != True ){
$canGet = $paths[$point][$station];
echo "Ехать $canGet[time] минут посредством $canGet[by] <br>";
$point = $station;
step($paths, $pathDone, $point, $target, $time, $i, $pointNames, $transportName);
}
}*/
}
}
}