PHPでは変数がメモリを占有しますか?

(*-*)浩
リリース: 2023-02-23 17:36:01
オリジナル
2424 人が閲覧しました

PHPでは変数がメモリを占有しますか?

php にデータを保存する 1 つの方法は、変更できる量です。この方法は、メモリ内にデータを保存できるスペースを開くことです。この空間に名前を付け、この時の空間を変数と呼ぶことができます。この値は運用中に変更可能です

カレント空間の名前を変数名、カレント空間のデータ(8種類のデータ)を変数値と呼びます

例:(推奨学習:PHP ビデオ チュートリアル)

php バージョンは 7.2

'; $start = memory_get_usage(); $a = Array(); for ($i=0; $i<1000; $i++) { $a[$i] = $i + $i; } $mid = memory_get_usage(); echo memory_get_usage() , '
'; for ($i=1000; $i<2000; $i++) { $a[$i] = $i + $i; } $end = memory_get_usage(); echo memory_get_usage() , '
'; echo 'argv:', ($mid - $start)/1000 ,'bytes' , '
'; echo 'argv:',($end - $mid)/1000 ,'bytes' , '
'; echo 'Memory:', ($mid - $start)/1024 ,'k' , '
'; echo 'Memory:',($end - $mid)/1024 ,'k' , '
'; 输出是: 389336 418056 442632 argv:28.72bytes argv:24.576bytes Memory:28.046875k Memory:24k
ログイン後にコピー

戻る現在の割り当て PHP スクリプトに割り当てられているメモリ量 (バイト単位)。

1000 要素の整数配列は 28k のメモリを占有し、各要素は平均 28 バイトを占有することが大まかに理解されています。

memory_get_usage() によって返される結果は、すべてが占有されるわけではありません。配列だけでなく、PHP

によって割り当てられたいくつかの構造体も含めるため、組み込み関数によって生成された配列は実空間に近い可能性があります:

'; echo 'Memory:', ($mid - $start)/1024 ,'k' , '
'; $b = array_fill(0, 10000, 1); $end = memory_get_usage(); //10k elements array; echo 'argv:', ($end - $mid)/10000 ,'byte' , '
'; echo 'Memory:',($end - $mid)/1024 ,'k' , '
'; 得到: 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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!