Правильный способ преобразования строки в long int в PHP

пробовал (int) "4209531264" и intval("4209531264") но, к сожалению, все, что я получаю 2147483647 (Я понимаю, что это из-за 32-битной архитектуры или некоторых зависимостей php или чего-то еще).

Я придумал "4209531264" + 0 который возвращает правильный результат, но удивительно видеть, что он работает, так как он находится за пределами maxint.

но реальный вопрос: это "правильный способ" преобразования строки в длинную?

edit:

(float) что есть.

спасибо за комментарии! открываю глаза!

1 ответов


пока вы не очень разборчивы в том, какую именно ценность вы получаете,"number" + 0 вероятно, лучший способ преобразования вашего ввода, потому что он преобразуется в "естественный" числовой тип данных.

результат будет целым числом, если вход не имеет десятичной части и подходит (см. PHP_INT_MAX) или поплавок, если это не так.