1
0
mirror of https://github.com/php/doc-en.git synced 2026-03-27 09:12:15 +01:00
Files
archived-doc-en/reference/random/functions/random-int.xml
Tim Düsterhus 215fd48515 random: Improve short descriptions for methods (#2007)
* random: Unify the short description for random_(bytes|int) with Randomizer

* random: Use imperative mood for short descriptions of engine methods

This is for consistency. The PHP manual appears to use imperative mood for the
majority of functions and all of Randomizer’s functions already too.

* random: Shorten the short description for random_int and Randomizer::getInt()
2022-11-15 17:22:51 +01:00

149 lines
3.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.random-int" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>random_int</refname>
<refpurpose>Get a cryptographically secure, uniformly selected integer</refpurpose>
</refnamediv>
<refsect1 role="description"><!-- {{{ -->
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>random_int</methodname>
<methodparam><type>int</type><parameter>min</parameter></methodparam>
<methodparam><type>int</type><parameter>max</parameter></methodparam>
</methodsynopsis>
<para>
Generates cryptographic random integers that are suitable for use where
unbiased results are critical, such as when shuffling a deck of cards for a
poker game.
</para>
&csprng.sources;
&csprng.function.backport;
</refsect1><!-- }}} -->
<refsect1 role="parameters"><!-- {{{ -->
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>min</parameter></term>
<listitem>
<para>
The lowest value to be returned; must be
<constant>PHP_INT_MIN</constant> or greater.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>max</parameter></term>
<listitem>
<para>
The highest value to be returned; must be
<constant>PHP_INT_MAX</constant> or less.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1><!-- }}} -->
<refsect1 role="returnvalues"><!-- {{{ -->
&reftitle.returnvalues;
<para>
A cryptographically secure, uniformly selected integer from the closed interval
[<parameter>min</parameter>, <parameter>max</parameter>]. Both
<parameter>min</parameter> and <parameter>max</parameter> are
possible return values.
</para>
</refsect1><!-- }}} -->
<refsect1 role="errors"><!-- {{{ -->
&reftitle.errors;
<itemizedlist>
&csprng.errors;
<listitem>
<simpara>
If <parameter>max</parameter> is less than <parameter>min</parameter>, an
<classname>ValueError</classname> will be thrown.
</simpara>
</listitem>
</itemizedlist>
</refsect1><!-- }}} -->
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.2.0</entry>
<entry>
In case of a <acronym>CSPRNG</acronym> failure, this function will now throw a
<classname>Random\RandomException</classname>. Previously a plain
<classname>Exception</classname> was thrown.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples"><!-- {{{ -->
&reftitle.examples;
<example xml:id="random-int.example.basic"><!-- {{{ -->
<title><function>random_int</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(random_int(100, 999));
var_dump(random_int(-1000, 0));
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
int(248)
int(-898)
]]>
</screen>
</example><!-- }}} -->
</refsect1><!-- }}} -->
<refsect1 role="seealso"><!-- {{{ -->
&reftitle.seealso;
<simplelist>
<member><function>Random\Randomizer::getInt</function></member>
<member><function>random_bytes</function></member>
</simplelist>
</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
-->