La classe QuickHashIntHash

(PECL quickhash >= Unknown)

Introduction

Cette classe est un conteneur pour un hash contenant des nombres entiers, alors que les valeurs sont elles aussi des entiers. Les hash sont aussi disponibles au travers de l'interface ArrayAccess.

Les hash peuvent aussi être parcourus via l'interface Iterator. L'ordre dans lequel les éléments ressortent n'est pas garanti.

Synopsis de la classe

QuickHashIntHash {
/* Constantes */
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 ;
/* Méthodes */
public add ( int $key , int $value = ? ) : bool
public __construct ( int $size , int $options = ? )
public delete ( int $key ) : bool
public exists ( int $key ) : bool
public get ( int $key ) : int
public getSize ( ) : int
public static loadFromFile ( string $filename , int $options = ? ) : QuickHashIntHash
public static loadFromString ( string $contents , int $options = ? ) : QuickHashIntHash
public saveToFile ( string $filename ) : void
public saveToString ( ) : string
public set ( int $key , int $value ) : bool
public update ( int $key , int $value ) : bool
}

Constantes pré-définies

QuickHashIntHash::CHECK_FOR_DUPES

Si activé, l'ajout d'éléments déja existants dans l'ensemble (via add() ou loadFromFile()) fera que ces éléments seront supprimés de l'ensemble. Ceci prendra du temps, utilisez uniquement lorsque nécessaire.

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

Désactive l'utilisation du gestionnaire de mémoire interne à PHP. Si cette option est activée, les allocations internes ne compteront pas dans le paramètre memory_limit.

QuickHashIntHash::HASHER_NO_HASH

Utilise un modulo et non pas une fonction de hachage pour trouver un élément dans l'index. Ce n'est pas plus rapide que le hachage classique, et le risque de collision est plus élevé.

QuickHashIntHash::HASHER_JENKINS1

Fonction de hachage par défaut qui transforme les hash entiers en éléments indexés en liste.

QuickHashIntHash::HASHER_JENKINS2

Sélectionne un algorithme de hachage différent.

Sommaire