<?php $instructions = explode("\n", file_get_contents('input.txt')); $acc = 0; $used_indexes = []; $current_index = 0; while (true) { if (in_array($current_index, $used_indexes, true)) { echo $acc; exit; } $used_indexes[] = $current_index; $current_op = $instructions[$current_index]; [$command, $value] = explode(' ', $current_op); if ($command === 'nop') { $current_index++; continue; } $math_op = $value[0]; $math_value = substr($value, 1); if ($command === 'acc') { if ($math_op === '+') { $acc += (int)$math_value; } else { $acc -= (int)$math_value; } $current_index++; continue; } if ($command === 'jmp') { if ($math_op === '+') { $current_index += (int)$math_value; } else { $current_index -= (int)$math_value; } continue; } }