PHP が配列値を格納する方法について簡単な質問があります。
PHPインタープリターによって単純な配列が内部(z値)にどのように保存されますか? それは連続したメモリ空間ですか、それとも一種のリンクされたリストとハッシュツリー(またはサイズによってはハイブリッド)ですか?
PHP の配列型は、単純なリスト、スタック、キュー、またはある種のヒープとして便利に使用できるため、これを求めています (ただし、PHP がそれらを格納するために使用するデータ構造の種類はわかりません)。
ありがとう。
PHP が配列値を格納する方法について簡単な質問があります。
PHPインタープリターによって単純な配列が内部(z値)にどのように保存されますか? それは連続したメモリ空間ですか、それとも一種のリンクされたリストとハッシュツリー(またはサイズによってはハイブリッド)ですか?
PHP の配列型は、単純なリスト、スタック、キュー、またはある種のヒープとして便利に使用できるため、これを求めています (ただし、PHP がそれらを格納するために使用するデータ構造の種類はわかりません)。
ありがとう。
内部的には、PHP は単純な HashTable を使用するだけです。(最初にハッシュ ルックアップが行われます。衝突が発生すると、単純なリスト ルックアップが行われます。)
ところで、SPL http://php.net/spl.datastructuresには、特別なことに使用したい特別なクラスもいくつかあります… (本当に必要な場合にのみ使用してください…ほとんどの場合、それだけの価値はありません。)