$minWeight) { if ($verbose) { echo "checking vertex $vertice\n"; } if ($start === $vertice) { $vertices[$vertice] = 0; } foreach ($edges[$vertice] as $edge) { if ($vertices[$edge->end] > $vertices[$vertice] + $edge->weight) { if ($verbose) { echo "replace $vertice " . $vertices[$edge->end] . " with " . ($vertices[$vertice] + $edge->weight) . "\n "; } $vertices[$edge->end] = $vertices[$vertice] + $edge->weight; $change = true; } } } $round++; } return $vertices; }