2012-03-31 8 views
4

申し訳ありませんが、この質問はすでに別の場所で回答されていますが、私はそれを見つけることができませんでした(おそらく、未使用のオフセットのPHP配列のメモリ消費

私はdbクエリの結果セットである二次元配列を扱っています。アイブ氏は

$array[345] = {'id' => 345, 
       'info1' => 'lorem', 
       'infor2' => 'ipsum'} 

$array[448] = {'id' => 448, 
       'info1' => 'lorem', 
       'infor2' => 'ipsum'} 

...配列は次のようになりますので、設定の配列がとても配列の最初のインデックスは行の配列のPKで私の質問を持って...私は、インデックスのは、整数として渡されている知っています。だから、私は(おそらく間違っている)それらが配列による数値オフセットとして扱われていると考えている(関連性とは対照的に)。したがって、最初のインデックスが345ならば、システムは自動的にインデックス0〜344 ?コードはすべて完璧に動作しますが、このメソッドがメモリを大量に消費するのではないかと疑問に思っています。特に、322,343と554,324に2つの配列しか格納されていない場合は、申し訳ありませんが、それはダムの質問、任意の答えに感謝の場合。

答えて

4

いいえ、アレイは、ハッシュマップであり、キーが等しいオフセットをいけない、例えば

$foo = array(0 => 'x', 1000 => 'y') 

は2つのだけの要素です。その間には何も予約されていません。

+0

ありがとう – dgeare

関連する問題