ホームページ > バックエンド開発 > PHPチュートリアル > json_encode json_decode 整数オーバーフローの問題

json_encode json_decode 整数オーバーフローの問題

WBOY
リリース: 2016-06-23 13:34:33
オリジナル
1039 人が閲覧しました

PHP バージョン 5.2 ~ 5.3 を 5.4 にアップグレードできない場合、次のコードがあります

<?php$json='{"lastRev":20150517175733,"fileList":{"count":4,"folder":[{"id":915501363499340,"name":"demo","createDate":"2015-05-17 17:49:03","lastOpTime":"2015-05-17 17:49:03","rev":"20150517174903"}],"file":[{"id":913031363216803,"name":"yueyuhuashi..mp4","size":28444469,"md5":"179954914C459FE29885A077A1A62B5E","lastOpTime":"2015-05-17 10:45:31","createDate":"2015-05-17 10:45:31","mediaType":3,"rev":"20150517104531"},{"id":613031363569707,"name":"多元神话 - 火火中国风(广场舞版).mp3","size":15436145,"md5":"1700981A8F72B46F2ED50914D7F0F997","lastOpTime":"2015-05-17 10:42:44","createDate":"2015-05-17 10:42:44","mediaType":2,"rev":"20150517104244"},{"id":113991363195034,"name":"7.jpg","size":1851,"md5":"0A7211CE8E736AD4E2CE36E18CC08E65","lastOpTime":"2015-05-17 10:17:41","createDate":"2015-05-17 10:10:36","mediaType":1,"rev":"20150517101741"}]}}';$obj=json_decode($json,true);print_r($obj);exit;
ログイン後にコピー



出力は次のとおりです:


Array(    [lastRev] => 20150517175733    [fileList] => Array        (            [count] => 4            [folder] => Array                (                    [0] => Array                        (                            [id] => 9.1550136349934E+14                            [name] => demo                            [createDate] => 2015-05-17 17:49:03                            [lastOpTime] => 2015-05-17 17:49:03                            [rev] => 20150517174903                        )                )            [file] => Array                (                    [0] => Array                        (                            [id] => 9.130313632168E+14                            [name] => yueyuhuashi..mp4                            [size] => 28444469                            [md5] => 179954914C459FE29885A077A1A62B5E                            [lastOpTime] => 2015-05-17 10:45:31                            [createDate] => 2015-05-17 10:45:31                            [mediaType] => 3                            [rev] => 20150517104531                        )                    [1] => Array                        (                            [id] => 6.1303136356971E+14                            [name] => 多元神话 - 火火中国风(广场舞版).mp3                            [size] => 15436145                            [md5] => 1700981A8F72B46F2ED50914D7F0F997                            [lastOpTime] => 2015-05-17 10:42:44                            [createDate] => 2015-05-17 10:42:44                            [mediaType] => 2                            [rev] => 20150517104244                        )                    [2] => Array                        (                            [id] => 1.1399136319503E+14                            [name] => 7.jpg                            [size] => 1851                            [md5] => 0A7211CE8E736AD4E2CE36E18CC08E65                            [lastOpTime] => 2015-05-17 10:17:41                            [createDate] => 2015-05-17 10:10:36                            [mediaType] => 1                            [rev] => 20150517101741                        )                )        ))
ログイン後にコピー



[id] => がオーバーフローしていることがわかります。解決してください


ディスカッション (解決策) への返信

長い数字を引用符で囲まなかったら誰を責めることができますか?

モデレーター: その json は制御できません。API はそのようなデータを提供します、、、、、

$json = preg_replace('/("id":)(d{9,})/i', ' ${1} "${2}"', $json); ノットが完成しました

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート