php数组报错的解决办法:1、在对数据进行处理的时候进行逐条取数据,语句如“while($data = $pdo->fetch()){}”;2、将数据整理成数组的形式再处理,并且可以在循环中边获取,边处理,边删除。
推荐:《PHP视频教程》
php数组数据量过大时报错的问题
在做一个excel导出的时候,数据量超过2千多条的时候就会报错。刚开始以为是服务器或者数据库崩掉了。但是报错时页面反应速度很快,不像是服务器性能问题。后来经过反复的测试发现是在处理数据的时候使用的如pdo中fetchAll这种的函数,一次性将所有的数据全部装入到一个数组中,导致类似内存溢出的问题。
解决办法:
在对数据进行处理的时候可以逐条取数据,如:
while($data = $pdo->fetch()){ ...... }
如果必须要将数据整理撑数组的形式再处理,可以在循环中边获取,边处理,边删除,如:
while($data = $pdo->fetch()){ ...... $arr[data['name']][] = $data; ......... unset($arr); }