Quickhash
PHP Manual

QuickHashIntHash クラス

(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)

導入

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

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

クラス概要

QuickHashIntHash {
/* 定数 */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* メソッド */
public bool add ( int $key [, int $value ] )
public __construct ( int $size [, int $options ] )
public bool delete ( int $key )
public bool exists ( int $key )
public int get ( int $key )
public int getSize ( void )
public static QuickHashIntHash loadFromFile ( string $filename [, int $options ] )
public static QuickHashIntHash loadFromString ( string $contents [, int $options ] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public bool set ( int $key , int $value )
public bool update ( int $key , int $value )
}

定義済み定数

QuickHashIntHash::CHECK_FOR_DUPES

有効にすると、重複する要素を (add() や loadFromFile() で) セットに追加しようとしたときにその要素がセットから削除されます。 余分な時間がかかるので、必要なときだけ使うようにしましょう。

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

PHP の内部メモリマネージャを使わないようにします。このオプションを有効にすると、 内部的に確保したメモリが memory_limit の設定に影響を及ぼさなくなります。

QuickHashIntHash::HASHER_NO_HASH

ハッシュ関数を使わず、単純な剰余を使ってインデックスを探すようにします。 通常のハッシュほど高速ではないし、衝突の発生も多くなります。

QuickHashIntHash::HASHER_JENKINS1

これがデフォルトのハッシュ関数で、整数値のハッシュをリストのインデックスに変換します。

QuickHashIntHash::HASHER_JENKINS2

別のハッシュアルゴリズムを使います。

目次


Quickhash
PHP Manual