PHP 文字列の長さの境界は何ですか?
PHP の文字列の長さ制限に関しては、PHP のバージョンに基づいてさまざまな条件があります。
PHP 7.0.0 以降 (64 ビット)
これらの 64 ビット ビルドでは、文字列の長さに特別な制限がなく、膨大な容量が提供されます。大量のテキストを保存するため。
PHP 5.x 以前
PHP 7.0.0 以前および 32 ビット ビルドでは、文字列は最大次数に制限されていました。内部コードは長さを 32 ビット整数で表したため、2GB。
メモリ割り当ての制約
文字列の長さの制限とは別に、PHP スクリプトもメモリの制限に直面します。変数の割り当て。この制限は、php.ini のmemory_limit ディレクティブによって制御されます。デフォルトでは、PHP 5.2 では 128MB、以前のバージョンでは 8MB です。
この制限を超えると、致命的なエラーが発生する可能性があります。ただし、-1 に設定すると、PHP はオペレーティング システムが許可する限りメモリを使用できるようになりますが、ハードウェアの制限は依然として受けられます。
実践例
メモリ制限がある場合は、メモリ制限が 1MB のスクリプトを検討してください:
ini_set('memory_limit', 1024*1024);
// allocating 255KB string
$str = str_repeat('a', 255*1024);
print_r($str);
// exceeded memory limit, results in fatal error
$str = str_repeat('a', 256*1024);
print_r($str);
PHP は最初に基本操作に 768KB を割り当て、スクリプトには 232KB の使用可能なスペースが残ります。 255KB の文字列を割り当てると、使用可能なメモリがいっぱいになります。 256KB の文字列を割り当てようとすると、制限を超えて致命的なエラーが発生します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3