Php/docs/class.quickhashintstringhash

提供:Dev Guides
< Php
移動先:案内検索

(PECL quickhash >= Unknown)

はじめに

このクラスは整数値を含むハッシュをラップするもので、ハッシュの値は文字列となります。 このハッシュは ArrayAccess インターフェイスも実装しています。

Iterator インターフェイスも実装しているので foreach で順にたどることもできます。 このときに要素が返される順番は保証されません。


クラス概要


QuickHashIntStringHash {

/* 定数 */

const int CHECK_FOR_DUPES = 1

const int DO_NOT_USE_ZEND_ALLOC = 2

const int HASHER_NO_HASH = 256

const int HASHER_JENKINS1 = 512

const int HASHER_JENKINS2 = 1024

/* メソッド */

public add ( int $key , string $value ) : bool

public __construct ( int $size [, int $options = 0 ] )

public delete ( int $key ) : bool

public exists ( int $key ) : bool

public get ( int $key ) : mixed

public getSize ( ) : int

public static loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] ) : QuickHashIntStringHash

public static loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] ) : QuickHashIntStringHash

public saveToFile ( string $filename ) : void

public saveToString ( ) : string

public set ( int $key , string $value ) : int

public update ( int $key , string $value ) : bool

}

定義済み定数

QuickHashIntStringHash::CHECK_FOR_DUPES
有効にすると、重複する要素を (add() や loadFromFile() で) セットに追加しようとしたときにその要素がセットから削除されます。 余分な時間がかかるので、必要なときだけ使うようにしましょう。
QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
PHP の内部メモリマネージャを使わないようにします。このオプションを有効にすると、 内部的に確保したメモリが memory_limit の設定に影響を及ぼさなくなります。
QuickHashIntStringHash::HASHER_NO_HASH
ハッシュ関数を使わず、単純な剰余を使ってインデックスを探すようにします。 通常のハッシュほど高速ではないし、衝突の発生も多くなります。
QuickHashIntStringHash::HASHER_JENKINS1
これがデフォルトのハッシュ関数で、整数値のハッシュをリストのインデックスに変換します。
QuickHashIntStringHash::HASHER_JENKINS2
別のハッシュアルゴリズムを使います。


目次