0

我正在使用常规循环,但是当我在循环中放入大数据时它不起作用,他们有什么办法可以将大数据放入数组中吗?

$arr = array('Joe', 'Jack');
$arr2 = array();
foreach($arr as $val){
    $arr2[] = $val;
}
print_r($arr2);

因此,当$arr太大时,我在浏览器中收到未收到数据错误,

任何帮助表示赞赏。

4

2 回答 2

3

您可能想查看更轻量级的SplFixedArray。它使用常规的连续内存块来存储数据,而不是传统的哈希结构。

第二种方法是使用memory_limit参数,但这不是一个好主意

ini_set('memory_limit', '256M');

第三种方法是把你的数组分成几块

于 2012-06-15T01:12:42.830 回答
0

- 如果您使用 GET,则在处理大数据时将其更改为 POST。

- 将表单类型更改为 enctype="multipart/form-data"

-更改post_max_sizephp.ini

- 如果仍然不起作用,请使用ini_set("memory_limit","-1")

于 2012-06-15T01:19:06.523 回答