使用大型数组 PHP 时出现“未收到数据”错误


Getting an No data received error when using a large array PHP

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

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

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

任何帮助表示赞赏。

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

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

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

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

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

- 将表单类型更改为 enctype="多部分/表单数据"

-在 php 中更改post_max_size.ini

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