2013-10-24 2 views
1

Мой PHP-скрипт использует API Smartsheet для вставки новых строк в лист.API Smartsheet возвращает странный/усеченный идентификатор строки на вставке строки?

Что я получаю обратно в строке ID не выглядит цифровой, и я не могу использовать его для любых последующих поисков:

[id] => 7.4588918092066E+14 

Любая идея, что здесь происходит?

ответ

1

Похоже, что вы используете 32-битную версию PHP, которая имеет сложное время для интерпретации длинных идентификаторов, возвращаемых API Smartsheet. Когда Long rowIds попадают в точность, теряется, а rowId возвращается в научной нотации.

Чтобы обойти это усечение, преобразуйте значение rowId в строку перед разбором ответа json на PHP.

Этого другой ответ от должности относительно Идентификаторов возвращаемого facebook API https://stackoverflow.com/a/8019715/413234 объясняет подобную ситуацию, и как использовать preg_replace, чтобы захватить идентификатор и преобразовать его в строку, перед передачей его в json_decode().

+1

Другой вариант - перейти на 64-разрядную версию PHP, если это вообще возможно. – avioing

Смежные вопросы