Есть скрипт:
$passport = '28 48 399999';
$passport = str_replace(' ','', $passport);
$passport = intval($passport);
var_dump($passport);
Его dump: int(2147483647)
Вопрос: почему? пробелы убрал, а в число преобразует кое-как...
2 147 483 647 — это 231–1, максимальное целое число, помещающееся в 32 бита. Ваше число 2 848 399 999 больше, поэтому PHP решил преобразовать его к самому близкому значению, которое может быть представлено.
Похапэ искаропки не умеет в длинные целые. Должны быть математические пакеты, если вам это действительно нужно.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники