PHP数组不能大于1893?

时间:2015-12-10 05:04:09

标签: php arrays

我有一个PHP脚本,用于解析来自我服务器的日志文件。目前,数据以数组形式写入并打印出来。之后,数据将保存在MySQL数据库中。

问题是,带有的数组永远不会大于1893,这只是数据的一小部分。将 memory_limit 从128M增加到512M后,该数字没有变化。 我完全相信,所有日志都已处理完毕。

数组是否有限制?

或者我的代码有问题。每个日志文件都被解析为一个数组( $ result ),该数组附加到最终数组( $ allResults )。

$allResults = $allResults+$result;

2 个答案:

答案 0 :(得分:4)

除了内存不足外,PHP中的数组大小不应有限制。

我没有使用那种表示法来互相添加数组,我认为它不会像你想做的那样。你试过用以下代码编写代码吗?

$allResults = array_merge($allResults, $result);

您可能只是让脚本超时,具体取决于文件大小和服务器负载。

如果还没有,可以将其添加到页面顶部以查看完整错误:

ini_set("display_errors", "1");
error_reporting(E_ALL);

答案 1 :(得分:1)

在php数组中," +" operator不是array_merge,你可以参考" + operator in php"。在这里,我建议你使用array_merge:

$allResults = array_merge($allResults,$result);