2013年5月6日月曜日

配列のメモリの話 その1

ArrayAccessと配列の比較を続ける前に
PHPの配列とメモリの関係について確認しておきましょう。

簡単なサンプルコードを書いてみます。

サンプルコード 実行結果
1
memory 1:56
memory 2:5324488
と、このようにtest1とtest2ではメモリの使用量に大きな差が出ています。

これは、関数に配列が引数として与えられた場合、
PHPはその時点ではスタック領域のポインタアドレスを渡していますが、
配列に変更があった時点でその配列のヒープ領域がコピーされ
別の変数として新しいスタック領域に別のポインタアドレスが保存されることを指します。

0 件のコメント:

コメントを投稿