Créer un hash depuis un fichier

# QuickHashIntHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromFile — Créer un hash depuis un fichier

### Description

public static QuickHashIntHash::loadFromFile ( string `$filename` [, int `$options` ] ) : QuickHashIntHash

Cette méthode de fabrique crée un nouveau hash depuis un fichier. Le format du fichier contient une signature,'QH\0x11\0' le nombre d'éléments sur un entier signé 32bits suivi d'entiers signés 32bits dans le boutisme de la machine courante. Chaque élément correspond à deux entiers signés, le premier est la clé, le second la valeur. Voici un exemple :

Exemple #1 Format du fichier QuickHash IntHash

    00000000  51 48 11 00 02 00 00 00  01 00 00 00 01 00 00 00  |QH..............|
    00000010  03 00 00 00 09 00 00 00                           |........|
    00000018

Exemple #2 Format du fichier QuickHash IntHash

    header signature ('QH'; key type: 1; value type: 1; filler: \0x00)
    00000000  51 48 11 00

    number of elements:
    00000004  02 00 00 00

    data string:
    00000000  01 00 00 00 01 00 00 00  03 00 00 00 09 00 00 00

    key/value 1 (key = 1, value = 1)
    01 00 00 00  01 00 00 00

    key/value 2 (key = 3, value = 9)
    03 00 00 00  09 00 00 00

### Liste de paramètres

`filename`

  Le fichier depuis lequel lire le hash.

`options`

  Les mêmes options que le constructeur de la classe accepte, sauf l'option de taille, qui sera ignorée. La taille est calculée automatiquement pour correspondre au nombre d'entrées dans le hash, arrondie à la puissance de deux supérieure (limite maximale de 4194304).

### Valeurs de retour

Retourne un nouveau QuickHashIntHash.

### Exemples

Exemple #3 Exemple QuickHashIntHash::loadFromFile()

`<?php
$file = dirname( __FILE__ ) . "/simple.hash";
$hash = QuickHashIntHash::loadFromFile(
$file,
QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Key %3d (%2x) is %s\n",
$key, $key,
$hash->exists( $key ) ? 'set' : 'unset'
);
}
?>`

L'exemple ci-dessus va afficher quelque chose de similaire à :

    Key   0 ( 0) is unset
    Key   1 ( 1) is set
    Key   2 ( 2) is set
    Key   3 ( 3) is set
    Key   4 ( 4) is unset
    Key   5 ( 5) is set
    Key   6 ( 6) is unset
    Key   7 ( 7) is set
    Key   8 ( 8) is unset
    Key   9 ( 9) is unset
    Key  10 ( a) is unset
    Key  11 ( b) is set
    Key  12 ( c) is unset
    Key  13 ( d) is set
    Key  14 ( e) is unset
    Key  15 ( f) is unset