У меня есть fb_id 100001635692408 в моей базе данных, но когда я получаю его в своем PHP-скрипте, он печатает что-то вроде этого 1.0000163569241E+14. И как я могу получить этот номер без конвертации?
Большие числа в PHP
Ответы (3)
сохранить fb_id как строковый формат в базе данных.
Вы должны использовать number_format()
.
number_format($myNum, 0, "");
Это отобразит ваш номер без запятых (третий параметр — разделитель) или десятичных знаков (для этого предназначен второй параметр).
Вы должны хранить идентификатор в виде строки, особенно идентификаторы Facebook, которые могут быть буквенно-цифровыми для некоторых объектов. Эти идентификаторы также могут быть больше, чем то, что некоторые машины могут хранить в виде целых чисел в какой-то момент, как это произошло со многими приложениями Twitter.
Вы также никогда не будете использовать эти данные как целое число. Вы никогда не будете добавлять идентификаторы вместе или проверять, больше ли один, чем другой. Так что int/number здесь действительно неправильный тип.
string
не годится? ты занимаешься математикой с этими большими числами? - person Marek Sebera   schedule 01.08.2012100 = 10 * 10 = 100 * 1 = 1 * 100
;) Однако: я тоже рекомендую строку - person KingCrunch   schedule 01.08.2012<
и>
, поэтому числовые типы, как ни крути, лучше. @Shako: не конвертируй свой индекс в строки, пожалуйста... просто не надо - person Elias Van Ootegem   schedule 01.08.2012autoincrement
подходит для простых таблиц myIsam, но в сценариях, где блокировка таблиц (например, репликация, триггеры, внешние ключи и т. д.) — это кошмар, но это уже не по теме… Согласимся. не соглашаться :) - person Elias Van Ootegem   schedule 01.08.2012