json_decode把数据转为科学计数法的问题

只有写一个递归函数,如果数据被转为float且有E+的时候,再把他转成字符串

private function filter_jsonarr($arr)
    {
    	if(is_array($arr)){
    		foreach($arr as $k => $v)
    		{
    			$arr[$k] = $this->filter_jsonarr($v);
    		}
    		return $arr;
    	} else {
    		if(is_float($arr) && strpos($arr, 'E+') !== false){
    			$arr = number_format($arr,0,'','');
    		}
    		return $arr;
    	}
    }

还可以使用json_decode的第三个参数解决

$result = json_decode($result,true,512, JSON_BIGINT_AS_STRING);