1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-25 08:12:14 +01:00
Files
archived-doc-ru/reference/random/functions/rand.xml
Mikhail Alferov 1fb1824959 Update rand.xml
2024-06-14 11:40:35 +03:00

189 lines
6.7 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: 826073522514072830b63bee2b6135dc675ea45d Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.rand" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>rand</refname>
<refpurpose>Генерирует случайное число</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>rand</methodname>
<void/>
</methodsynopsis>
<methodsynopsis>
<type>int</type><methodname>rand</methodname>
<methodparam><type>int</type><parameter>min</parameter></methodparam>
<methodparam><type>int</type><parameter>max</parameter></methodparam>
</methodsynopsis>
<simpara>
Функция <function>rand</function> возвращает псевдослучайное целое число в диапазоне
от 0 до значения функции <function>getrandmax</function>,
если функцию вызвали без параметров <parameter>min</parameter> и <parameter>max</parameter>.
Когда требуется случайное число между 5 и 15 включительно, вызывают <literal>rand(5, 15)</literal>.
</simpara>
&caution.cryptographically-insecure;
<note>
<simpara>
На отдельных платформах, например ОС Windows, функция <function>getrandmax</function>
возвращает максимальное целое число, значение которого не превышает 32 767.
Если нужно число из диапазона больше, чем 32 767, указывают параметры <parameter>min</parameter>
и <parameter>max</parameter>, которые разрешат создать число из большего диапазона,
или вместо этой функции вызывают функцию <function>mt_rand</function>.
</simpara>
</note>
<note>
<simpara>
Начиная с PHP 7.1.0 функция <function>rand</function> использует тот же
алгоритм генерации случайных чисел, что и функция <function>mt_rand</function>.
Чтобы сохранить обратную совместимость, функция <function>rand</function> разрешает
задавать для параметра <parameter>max</parameter> значение меньше, чем значение параметра
<parameter>min</parameter>, и в отличие от функции <function>mt_rand</function>
не возвращает &false;.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>min</parameter></term>
<listitem>
<para>
Наименьшее возвращаемое значение. По умолчанию: 0.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>max</parameter></term>
<listitem>
<para>
Наибольшее возвращаемое значение. По умолчанию: значение
функции <function>getrandmax</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает псевдослучайное значение в диапазоне от <parameter>min</parameter>
(или 0) до <parameter>max</parameter> (или значение функции <function>getrandmax</function>).
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.2.0</entry>
<entry>
В функции <function>rand</function>
<link linkend="migration72.incompatible.rand-mt_rand-output">исправили ошибку</link>
смещения по модулю. То есть последовательности, которые сгенерировали
с конкретным начальным значением, могут несовпадать со значениями, которые сгенерировали
в PHP 7.1 на 64-битных машинах.
</entry>
</row>
<row>
<entry>7.1.0</entry>
<entry>
Функция <link linkend="migration71.incompatible.rand-srand-aliases"><function>rand</function>
стала синонимом функции <function>mt_rand</function></link>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>rand</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo rand(), "\n";
echo rand(), "\n";
echo rand(5, 15), "\n";
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
7771
22264
11
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<para>
Диапазон <parameter>min</parameter><parameter>max</parameter> не должен
выходить за границы значения функции <function>getrandmax</function>.
То есть (<parameter>max</parameter> <parameter>min</parameter>) &lt;= <function>getrandmax</function>.
В противном случае функция <function>rand</function> может возвращать
менее качественные случайные числа.
</para>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>srand</function></member>
<member><function>getrandmax</function></member>
<member><function>mt_rand</function></member>
<member><function>random_int</function></member>
<member><function>random_bytes</function></member>
</simplelist>
</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
-->