Строка JSON выводит значение с плавающей точкой - PullRequest
2 голосов
/ 08 января 2010

Я анализирую ответ JSON (твиттер-значение api-курсора), и то, что должно быть строковым значением, кажется, когда я вывожу его с помощью PHP, значение будет двойным

Есть идеи, как получить реальное строковое значение?

Ответы [ 2 ]

2 голосов
/ 08 января 2010

Значение курсора слишком велико для 32-битных установок PHP для обработки с помощью json_decode. Кто-то прислал мне preg_replace( '/next_cursor":(\d+)/', 'next_cursor":"\1"', $json );. Выполнение этого перед json_decode преобразует json int в строку перед преобразованием.

Обновление: Twitter теперь предоставляет значения next_cursor_str, которые являются строками вместо целых чисел, поэтому использование preg_replace больше не требуется.

1 голос
/ 08 января 2010

Чтобы преобразовать число с плавающей точкой (или любой тип переменной) в строку, вы можете использовать один из них:

$value = 5.234;

// Using type casting
$str_value = (string)$value;

// Using strval()
$str_value = strval($value);

// Using concatenation to a string
$str_value = $value . '';

// Using sprintf
$str_value = sprintf("%s", $value);

// Using setType
setType($value, 'string');
$str_value = $value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...