Самое, возможно, спорное изменение произошло в поведении empty(). Строка/String, содержащая только символ ’0’ (нуль), теперь считается пустой/empty,
в отличие от PHP 3.
Это имеет смысл в web-приложениях, когда все поля ввода/input возвращают
строки, даже если запрашивается цифровой ввод, с учётом возможностей PHP по
автоматической конвертации типов. Но, с другой стороны, это может нарушить работу вашего кода более утончённо,
давая неправильное поведение, которое трудно отследить, если вы не знаете, искать.