我需要为当前项目设置1到2百万的数组。问题是,我得到一个内存错误,当我尝试执行...PHP无法设置范围(0,2百万) - 内存错误
编辑:
这对于我已经解决了欧拉计划问题。但是,我重构代码的速度要快得多(原始时间为〜90秒)。
我正在使用eratosthenes筛来标记从0到2mil的素数。 Wikipedia article on this
EndEdit中
<?php
range(0,2000000);
?>
很明显,如果这是不行的,代码的其余部分将无法正常工作。
任何想法?
P.S.我试过ini_set('memory', '30M');
,但那也行不通。
编辑
感谢所有谁指出,该内存将需要更大的比我当初预想。我在ini_set('memory_limit', '4000000000'); //about 3.73 gig
EndFinalEdit
让我们从头开始,你想做什么? – 2012-02-26 20:19:05
为什么你需要那么大的范围?你想达到什么目的?可能有更好的方法。 – Ryan 2012-02-26 20:19:09
不知道来源的质量,但在这里http://pankaj-k.net/weblog/2008/03/did_you_know_that_each_integer.html。暗示它需要68个字节,这意味着你需要超过100MB的阵列。 – Nanne 2012-02-26 20:24:09