PHP json_decode на сервере на 32 бита

Это сделает это, в одной строке (отметьте '*' подстановочный знак в конце)

@files = </path/to/directory/*>;
# To demonstrate:
print join(", ", @files);
6
задан Programmer Bruce 17 June 2011 в 16:33
поделиться

3 ответа

Вы можете использовать preg_replace для записи чисел и добавления кавычек, примерно так:

$jsonString = '[{"name":"john","id":5932725006},{"name":"max","id":4953467146}]';

echo preg_replace('/("\w+"):(\d+)/', '\\1:"\\2"', $jsonString);
//prints [{"name":"john","id":"5932725006"},{"name":"max","id":"4953467146"}]

Попробуйте приведенный выше пример здесь .

12
ответ дан 8 December 2019 в 18:37
поделиться

Если вы используете PHP 5.2, эти длинные идентификаторы будут преобразованы в число с плавающей запятой, что, хотя и не идеально, по крайней мере, даст вам еще 21 бит целочисленной точности, что должно быть достаточно для хранения этих идентификаторов. (Конечно, идеально подойдет 64-битный сервер.)

1
ответ дан 8 December 2019 в 18:37
поделиться

Если уж на то пошло, вы можете попытаться использовать расширение big_int PECL. Это позволяет PHP использовать чрезвычайно большие числа, если вам это необходимо. Это большой скачок, но если вы постоянно имеете дело с числами, граничащими с бессмысленным умом, вы, вероятно, сочтете это полезным.

0
ответ дан 8 December 2019 в 18:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: