入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

php数组数据量过大时报错的问题

创建时间:2017-03-22 投稿人: 浏览次数:163

在做一个excel导出的时候,数据量超过2千多条的时候就会报错。刚开始以为是服务器或者数据库崩掉了。但是报错时页面反应速度很快,不像是服务器性能问题。后来经过反复的测试发现是在处理数据的时候使用的如pdo中fetchAll这种的函数,一次性将所有的数据全部装入到一个数组中,导致类似内存溢出的问题。


解决办法:

在对数据进行处理的时候可以逐条取数据,如:


while($data = $pdo->fetch()){
		......
	}

如果必须要将数据整理撑数组的形式再处理,可以在循环中边获取,边处理,边删除,如:

while($data = $pdo->fetch()){
		......
		$arr[data["name"]][] = $data;
		.........
		unset($arr);
	}



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。