QuickHashIntStringHash::loadFromFile
(PECL quickhash >= Unknown)
QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
Description
$filename
[, int $size
= 0
[, int $options
= 0
]] )This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x12\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. After the header and the strings, the elements follow in pairs of two unsigned 32 bit integers where the first one is the key, and the second one the index in the the element data string. An example could be:
Example #1 QuickHash IntString file format
00000000 51 48 12 00 02 00 00 00 09 00 00 00 4f 4e 45 00 |QH..........ONE.| 00000010 4e 49 4e 45 00 01 00 00 00 00 00 00 00 03 00 00 |NINE............| 00000020 00 04 00 00 00 |.....| 00000025
Example #2 QuickHash IntString file format
header signature ('QH'; key type: 1; value type: 2; filler: \0x00) 00000000 51 48 12 00 number of elements: 00000004 02 00 00 00 length of string values (9 characters): 00000008 09 00 00 00 string values: 0000000C 4f 4e 45 00 4e 49 4e 45 00 data string: 00000015 01 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00 key/value 1 (key = 1, string index = 0 ("ONE")): 01 00 00 00 00 00 00 00 key/value 2 (key = 3, string index = 4 ("NINE")): 03 00 00 00 04 00 00 00
Parameters
-
filename
-
The filename of the file to read the hash from.
-
size
-
The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.
-
options
-
The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.
Return Values
Returns a new QuickHashIntStringHash.
Examples
Example #3 QuickHashIntStringHash::loadFromFile() example
<?php
$file = dirname( __FILE__ ) . "/simple.string.hash";
$hash = QuickHashIntStringHash::loadFromFile(
$file,
QuickHashIntStringHash::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'
);
}
?>
The above example will output something similar to:
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
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Quickhash
- Функция QuickHashIntStringHash::add() - This method adds a new entry to the hash
- Функция QuickHashIntStringHash::__construct() - Creates a new QuickHashIntStringHash object
- Функция QuickHashIntStringHash::delete() - This method deletes am entry from the hash
- Функция QuickHashIntStringHash::exists() - This method checks whether a key is part of the hash
- Функция QuickHashIntStringHash::get() - This method retrieves a value from the hash by its key
- Функция QuickHashIntStringHash::getSize() - Returns the number of elements in the hash
- Функция QuickHashIntStringHash::loadFromFile() - This factory method creates a hash from a file
- Функция QuickHashIntStringHash::loadFromString() - This factory method creates a hash from a string
- Функция QuickHashIntStringHash::saveToFile() - This method stores an in-memory hash to disk
- Функция QuickHashIntStringHash::saveToString() - This method returns a serialized version of the hash
- QuickHashIntStringHash::set
- Функция QuickHashIntStringHash::update() - This method updates an entry in the hash with a new value
Коментарии
404 Not Found