2011-02-23 7 views
2

PHP는 부호없는 정수를 지원하지 않지만 json_decode()에서이 문제를 해결하는 방법을 알고 싶습니다. 2^31 이상의 부호없는 int 값을 포함하는 JSON을 디코드 할 때 부호있는 int로 처리되므로 음수가됩니다. 이것은 php.ini 파일을 구성하여 수정할 수 있습니까? 아니면 json_decode에 관한 것입니까?PHP에서 json_decode()가있는 부호없는 정수

답변

1

PHP의 개발 버전은이 문제에 대해 json_decode()에 대한 계획 옵션을 가지고있는 것 같습니다 : JSON_BIGINT_AS_STRING (매뉴얼 # 5 참조)하지만 지금 당장은 프로덕션 픽스가없는 것 같습니다.

또한 사용자가 작성한 메모의 this comment도 참조하십시오.

어떻게 든 인코딩 끝에서 문자열을 출력 할 가능성이 있습니까?

+0

그래, 고마워! 이 문제를 해결할 수있는 다른 json 디코딩 기법을 추천 해 주시겠습니까? – Nick

+0

@ 닉 명시 적으로이 문제를 처리 할 수있는 것은 무엇인지 모르겠습니다. 가능한 경우 인코딩 끝에서 문자열을 만드는 것이 더 쉬울 수도 있습니다! –

+0

고마워, 나는 인코딩과 비슷한 것을하고 결국 내 문제를 해결했다. 우리는 나중에 생산 수정을 기다려야 할 것입니다! – Nick

0

PHP BC Math extension을 사용할 수 있습니다! 임의 정밀도 수학

는 PHP는 문자열로 표현 크기와 정밀도의 숫자를 지원하는 이진 계산기를 제공합니다.

관련 문제