1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
archived-doc-ru/reference/quickhash/quickhashintstringhash/loadfromstring.xml
2024-06-19 05:04:41 +03:00

143 lines
4.9 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 12ff796708d2460fed5a241950e667ea938d07e7 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="quickhashintstringhash.loadfromstring" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>QuickHashIntStringHash::loadFromString</refname>
<refpurpose>Создаёт хеш из строки</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <modifier>static</modifier> <type>QuickHashIntStringHash</type><methodname>QuickHashIntStringHash::loadFromString</methodname>
<methodparam><type>string</type><parameter>contents</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>size</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Этот фабричный метод создаёт новый хеш из определения в строке.
Формат такой же, как и в методе <methodname>QuickHashIntStringHash::loadFromFile</methodname>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>contents</parameter></term>
<listitem>
<para>
Строка, которая содержит сериализованный формат хеша.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>
Количество списков бакетов для настройки.
Метод автоматически округлит заданное число в бо́льшую сторону до следующей степени числа два.
Число также автоматически ограничивается значениями от <literal>4</literal> до <literal>4 194 304</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
Те же параметры, которые принимает конструктор класса;
за исключением того, что параметр <literal>size</literal> игнорируется.
Размер автоматически вычисляется как количество записей в хеше,
округляется в бо́льшую сторону до ближайшей степени числа 2
с максимальным пределом <literal>4 194 304</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Метод возвращает новый объект <classname>QuickHashIntStringHash</classname>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования метода <function>QuickHashIntStringHash::loadFromString</function></title>
<programlisting role="php">
<![CDATA[
<?php
$contents = file_get_contents(dirname(__FILE__) . "/simple.hash");
$hash = QuickHashIntStringHash::loadFromString(
$contents,
QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach (range(0, 0x0f) as $key) {
printf(
"Ключ %3d (%2x) %s\n",
$key,
$key,
$hash->exists($key) ? 'установлен' : 'не установлен'
);
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Ключ 0 ( 0) не установлен
Ключ 1 ( 1) установлен
Ключ 2 ( 2) установлен
Ключ 3 ( 3) установлен
Ключ 4 ( 4) не установлен
Ключ 5 ( 5) установлен
Ключ 6 ( 6) не установлен
Ключ 7 ( 7) установлен
Ключ 8 ( 8) не установлен
Ключ 9 ( 9) не установлен
Ключ 10 ( a) не установлен
Ключ 11 ( b) установлен
Ключ 12 ( c) не установлен
Ключ 13 ( d) установлен
Ключ 14 ( e) не установлен
Ключ 15 ( f) не установлен
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->