组装无限极层级结构数字溢出 比如 父子级关系 level=1 tree_code=01 level=2 tree_code=01001 level=3 tree_code=01001001 每一级后面都连接上 001 同级关系 level=2 tree_code=01002 level=2 tree_code=01003 ………… level=3 tree_code=01001002 level=3 tree_code=01001003 …………… 问题: tree_code 同级每次加 1, 我都是用 ++$tree_code 得到的 一直到 level=8 的时候,tree_code 变成一串数字 E+21,好像是溢出了,怎么处理,求教,谢谢
1
lincanbin 2019-03-31 01:10:41 +08:00 via Android
PHP 中的整数超过常量 PHP_INT_MAX 后会隐式转换为浮点类型,浮点类型会出现精度丢失,详情看 IEEE-754。
这个就是你这个问题的现象。 解决方法是用 GMP 或者 BCMath 这种支持大整数的库,或者用字符串模拟大整数,自己做 parse。 不过最根本的原因,还是你的设计有问题吧,用一个变量加后缀来表示层级? |