PHP中json_decode的整型溢出的解决方法

朱雀 2020-06-20 16:14 959阅读 0赞

1.正则表达式

  1. $array = array(
  2. "id1" => 2147483647,
  3. "id2" => 2147483648
  4. );
  5. $json = json_encode($array);
  6. $json = preg_replace('/("id\d":)(\d{9,})/i', '${1}"${2}"', $json);
  7. $out = json_decode($json, true);
  8. var_dump($out);

2.php5.3以后生效

  1. $json = '12345678901234567890';
  2. var_dump(json_decode($json));
  3. var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING));

3.number_format函数

  1. $obj='{"order_id":213477815351175,"buyer":100001169269154}';
  2. $obj=$this->json_decode($obj,TRUE);
  3. foreach ($obj as $key=>$val){
  4. $obj[$key]=number_format($val,0,'','');
  5. }
  6. print_r($obj);

发表评论

表情:
评论列表 (有 0 条评论,959人围观)

还没有评论,来说两句吧...

相关阅读