一般的に、PHP 配列のメモリ使用量はわずか 1/10 です。つまり、C 言語で 100M のメモリを持つ配列は、PHP で 1G 必要となります。
特に PHP がバックエンド サーバーとして使用されているシステムでは、過剰なメモリ消費の問題が頻繁に発生します。
これは言語の問題であるため、従来の解決策では解決がより困難です。以下は文字列による解決策です。 (推奨学習: PHP ビデオ チュートリアル )
$total = 100000; $double = ""; for ($i = 0; $i < $total; $i++) { $double .= pack("d", $i + 0.1); } for ($i = 0; $i < $total; $i++) { unpack("@" . ($i * 8) . "/d", $double); }
この例では、文字列を使用して double の配列を保存します。ご使用の際は開梱してください。
もちろん、これはパフォーマンスに影響します。それは具体的なニーズによって異なります。
たとえば、この場合:
10 個のアレイがあり、各アレイが 10M (約 100 万データ) である場合、10 個のメモリのコストは 100M になります。
10 人を同時に追加すると、メモリが大幅に不足します。
すると、10 個の配列のうち、毎回同時に使用されるわけではありません。それらを string
として保存し、それを使用するときに特定の文字列を配列に解凍できます。
以上がPHPの配列はメモリを通過しないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。