Как узнать, была ли изменена переменная в php?
В теории подобное можно реализовать на уровне интерприатора своими силами (изменив zval контейнер и добавив какую-то функцию в язык аля is_dirty). Но зачем? Обычно нужно только убедиться что переменная не может быть изменена (immutable) но такого в php нету, во всяком случае для скаляров. Они и так immutable - при изменении результат записывается в переменную, но это уже совершенно другой результат. так что он по определению "не изменен".
В любом случае, на практике такие проверки сомнительны и я не вижу практической пользы от этого. Если вам нужно иметь паременную, которую никто не может изменить - можно использовать константы.
как вариант, можно использовать доп. переменную$a = 5;
$b = $a;
$a = $a + 1;

foo($a, $b);
public function foo($par1, $par2) {
    if ($par1 === $par2) {
        return "Переменная не изменялась или была возвращена в исходное состояние"
    } else {
        return "Переменная изменилась"
    }
}