0; $i--) { $array_position--; if ($array_position === -1) { $array_position = $array_max - 1; } } $facing = $facings[$array_position]; break; case RIGHT: $turns = $value / 90; $array_position = array_search($facing, $facings); $array_max = 4; for ($i = 0; $i < $turns; $i++) { $array_position++; if ($array_position === $array_max) { $array_position = 0; } } $facing = $facings[$array_position]; break; case FORWARD: doingInstruction($facing, (int)$value); break; } } foreach ($instructions as $instruction) { $direction = $instruction[0]; $value = (int)substr($instruction, 1); doingInstruction($direction, $value); } echo abs($east) + abs($north);