Вы неправы, вот доказательство ideone.com/OjNWMU.
Расход памяти вычисляется как максимальный размер стека, и равен он, как несложно догадаться, глубине дерева, которая для сбалансированного бинарного дерева равна log2N.
И всё же «валидатор не должен делать ничего кроме валидации» (принцип единственной ответственности). Пример, показывающий зависимость результата валидации от порядка следования правил, «хорошие валидаторы» так не делают.
> PHP видит 0 и думает что это число.
Здесь вы немного неправы. PHP видит 0e[0-9]+ и думает что это float число, которое приводится к 0. Подробнее вот здесь blog.whitehatsec.com/magic-hashes
Расход памяти вычисляется как максимальный размер стека, и равен он, как несложно догадаться, глубине дерева, которая для сбалансированного бинарного дерева равна log2N.
Сложность O(N), память O(logN).
Пример, показывающий зависимость результата валидации от порядка следования правил, «хорошие валидаторы» так не делают.
Здесь вы немного неправы. PHP видит 0e[0-9]+ и думает что это float число, которое приводится к 0. Подробнее вот здесь blog.whitehatsec.com/magic-hashes