我需要爲當前項目設置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