php にデータを保存する 1 つの方法は、変更できる量です。この方法は、 メモリ内にデータを保存できるスペースを開くことです。 この空間に名前を付け、この時の空間を変数と呼ぶことができます。 この値は運用中に変更可能です
カレント空間の名前を変数名、カレント空間のデータ(8種類のデータ)を変数値と呼びます
例: (推奨学習: PHP ビデオ チュートリアル)
php バージョンは 7.2
<?php echo memory_get_usage() , '<br>'; $start = memory_get_usage(); $a = Array(); for ($i=0; $i<1000; $i++) { $a[$i] = $i + $i; } $mid = memory_get_usage(); echo memory_get_usage() , '<br>'; for ($i=1000; $i<2000; $i++) { $a[$i] = $i + $i; } $end = memory_get_usage(); echo memory_get_usage() , '<br>'; echo 'argv:', ($mid - $start)/1000 ,'bytes' , '<br>'; echo 'argv:',($end - $mid)/1000 ,'bytes' , '<br>'; echo 'Memory:', ($mid - $start)/1024 ,'k' , '<br>'; echo 'Memory:',($end - $mid)/1024 ,'k' , '<br>'; 输出是: 389336 418056 442632 argv:28.72bytes argv:24.576bytes Memory:28.046875k Memory:24k
戻る現在の割り当て PHP スクリプトに割り当てられているメモリ量 (バイト単位)。
1000 要素の整数配列は 28k のメモリを占有し、各要素は平均 28 バイトを占有することが大まかに理解されています。
memory_get_usage() によって返される結果は、すべてが占有されるわけではありません。配列だけでなく、PHP
によって割り当てられたいくつかの構造体も含めるため、組み込み関数によって生成された配列は実空間に近い可能性があります:
<?php $start = memory_get_usage(); $a = array_fill(0, 10000, 1); $mid = memory_get_usage(); //10k elements array; echo 'argv:', ($mid - $start )/10000,'byte' , '<br>'; echo 'Memory:', ($mid - $start)/1024 ,'k' , '<br>'; $b = array_fill(0, 10000, 1); $end = memory_get_usage(); //10k elements array; echo 'argv:', ($end - $mid)/10000 ,'byte' , '<br>'; echo 'Memory:',($end - $mid)/1024 ,'k' , '<br>'; 得到: argv:54.5792byte argv:54.5784byte argv:39.736byte Memory:388.046875k argv:39.736byte Memory:388.046875k
整数であることが大まかに理解されています。 10,000 要素の配列は 388k のメモリを占有します。この結果から、1 つの配列要素は約 39 バイトを占有するように見えます。
以上がPHPでは変数がメモリを占有しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。