1. 特徴
一般的なキー->値クエリをサポートします。
配列として使用できます。
ノードの追加と削除は O(1) の複雑さです。
キーは混合型をサポートします。同時に関連する配列インデックス配列が存在します。
値は混合型をサポートします。
foreach などの線形トラバーサルをサポートします。
2. 例
typedef struct _hashtable { uint nTableSize; //要素の数ではなく、テーブルの長さ uint nTableMask; //常に nTableSize-1 に等しい。 uint nNumOfElements; // 格納されている要素の数 ulong nNextFreeElement; // 次の空の要素の位置を指します Bucket *pInternalPointer; // foreach ループ中に、現在通過している要素の位置を記録するために使用されます。 バケット *pListTail; Bucket **arBuckets;//格納された要素の配列 dtor_func_t pDestructor;//デストラクター zend_boolpersistent;//永続化されるかどうか。このことから、各リクエストをリロードしなくても、PHP 配列をメモリ内に保持できることがわかります。 unsigned char nApplyCount; zend_bool bApplyProtection; }ハッシュテーブル;
以上がPHPにおけるハッシュテーブルの特徴でしたので、皆様の参考になれば幸いです。