使用大型数组PHP时获取无数据接收错误

时间:2012-06-15 00:48:15

标签: php arrays

我正在使用常规循环但是当我在循环中放入一个大数据时它不起作用,我可以用任何方式将大数据放入数组中吗?

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

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

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:3)

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

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

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

第三种方法是将数组吐出块

答案 1 :(得分:0)

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

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

- 在php.ini

中更改post_max_size

- 如果仍然无效,请使用ini_set("memory_limit","-1")