Оператор assert в PHP ведет себя не так, как большинство других языков.
assert('return false');
фактически оценивает строку и затем подтверждает ее результат (false).
Вместо того, чтобы сравнивать параметр со значением true, он проходит дополнительный этап проверки аргумента и, если это строка, оценивающая его, затем выполняет сравнение.
Очень странно.
Моя проблема не в понимании поведения, моя проблема в том, чтобы найти вескую причину этого поведения, особенно. так как теперь вы должны выполнять дополнительную умственную работу мышления ... «Это оценивает строку?».