私の現在のプロジェクトには1から200万の配列を設定する必要があります。問題は、私が実行しようとしたとき、私はメモリエラーを取得することです...PHPは範囲(0、200万)を設定できません - メモリエラー
編集:
これは、私はすでに解決しているプロジェクト・オイラーの問題のためです。しかし、私はそれをはるかに高速にするためにコードをリファクタリングしています(元の時間は〜90秒でした)。
私はエラトステネスの篩を使って0から2milの素数をマークしています。明らかにWikipedia article on this
EndEdit
<?php
range(0,2000000);
?>
、これは動作しません場合は、残りのコードは動作しません。
アイデア?
P.S.私はini_set('memory', '30M');
を試しましたが、それもうまくいきませんでした。
編集メモリは、私が最初の予想よりもはるかに大きいことが必要となることを指摘したすべての人へ
感謝。私は、php.iniファイルの中を見てみましょうini_set('memory_limit', '4000000000'); //about 3.73 gig
EndFinalEdit
始めから何をしようとしていますか? –
なぜあなたはその大きな範囲を必要としますか?あなたは何を達成しようとしていますか?より良い方法があるかもしれません。 – Ryan
ソースの品質はわかりませんが、ここhttp://pankaj-k.net/weblog/2008/03/did_you_know_that_each_integer.html。それは68バイトを要することを意味します。つまり、あなたの配列に100MB以上の方法が必要です。 – Nanne