2010-03-28 22:10:10 +00:00
<?xml version="1.0" encoding="utf-8"?>
2009-07-11 07:54:14 +00:00
<!-- $Revision$ -->
2007-06-20 22:25:43 +00:00
<refentry xmlns= "http://docbook.org/ns/docbook" xml:id= "function.mt-srand" >
2007-03-31 10:43:52 +00:00
<refnamediv >
<refname > mt_srand</refname>
2017-02-20 20:48:22 +00:00
<refpurpose > Seeds the Mersenne Twister Random Number Generator</refpurpose>
2007-03-31 10:43:52 +00:00
</refnamediv>
2007-03-31 11:20:55 +00:00
<refsect1 role= "description" >
&reftitle.description;
2017-02-20 22:47:37 +00:00
<methodsynopsis >
<type > void</type> <methodname > mt_srand</methodname>
<methodparam choice= "opt" > <type > int</type> <parameter > seed</parameter> </methodparam>
<methodparam choice= "opt" > <type > int</type> <parameter > mode</parameter> <initializer > MT_RAND_MT19937</initializer> </methodparam>
</methodsynopsis>
2007-03-31 10:43:52 +00:00
<para >
Seeds the random number generator with
2007-03-31 19:18:23 +00:00
<parameter > seed</parameter> or with a random value
if no <parameter > seed</parameter> is given.
2007-03-31 10:43:52 +00:00
</para>
2017-02-20 22:47:37 +00:00
2007-03-31 10:43:52 +00:00
¬e.randomseed;
2017-02-20 22:47:37 +00:00
2007-03-31 10:43:52 +00:00
</refsect1>
2007-03-31 11:20:55 +00:00
<refsect1 role= "parameters" >
&reftitle.parameters;
<para >
<variablelist >
<varlistentry >
2007-03-31 19:18:23 +00:00
<term > <parameter > seed</parameter> </term>
2007-03-31 11:20:55 +00:00
<listitem >
<para >
2020-11-02 15:39:04 +00:00
An arbitrary <type > int</type> seed value.
2007-03-31 11:20:55 +00:00
</para>
</listitem>
2017-02-20 22:47:37 +00:00
</varlistentry>
<varlistentry >
2017-02-20 20:48:22 +00:00
<term > <parameter > mode</parameter> </term>
<listitem >
<para >
Use one of the following constants to specify the implementation of the algorithm to use.
<informaltable >
<tgroup cols= "2" >
<thead >
<row >
<entry > Constant</entry>
<entry > &Description; </entry>
</row>
</thead>
<tbody >
<row >
<entry > <constant > MT_RAND_MT19937</constant> </entry>
<entry >
Uses the fixed, correct, Mersenne Twister implementation, available as of PHP 7.1.0.
</entry>
</row>
<row >
<entry > <constant > MT_RAND_PHP</constant> </entry>
<entry >
Uses an incorrect Mersenne Twister implementation which was used as the default up till PHP 7.1.0.
This mode is available for backward compatibility.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</listitem>
2007-03-31 11:20:55 +00:00
</varlistentry>
</variablelist>
</para>
</refsect1>
2017-02-20 22:47:37 +00:00
2009-03-22 21:51:02 +00:00
<refsect1 role= "returnvalues" >
&reftitle.returnvalues;
<para >
&return.void;
</para>
</refsect1>
2017-02-20 22:47:37 +00:00
2007-03-31 19:18:23 +00:00
<refsect1 role= "changelog" >
&reftitle.changelog;
2007-03-31 11:20:55 +00:00
<para >
2007-03-31 19:18:23 +00:00
<informaltable >
<tgroup cols= "2" >
<thead >
<row >
<entry > &Version; </entry>
<entry > &Description; </entry>
</row>
</thead>
2017-02-20 20:48:22 +00:00
<tbody >
<row >
<entry > 7.1.0</entry>
<entry >
2018-01-28 22:12:17 +00:00
<function > srand</function> <link linkend= "migration71.incompatible.rand-srand-aliases" > has been made</link> an alias of <function > mt_srand</function> .
2017-02-20 20:48:22 +00:00
</entry>
</row>
<row >
<entry > 7.1.0</entry>
<entry >
2018-01-28 22:12:17 +00:00
<function > mt_rand</function> <link linkend= "migration71.incompatible.fixes-to-mt_rand-algorithm" > has been updated</link> to use the fixed, correct, version of
2019-02-18 05:42:50 +00:00
the Mersenne Twister algorithm. To fall back to the old behaviour, use <function > mt_srand</function> with <constant > MT_RAND_PHP</constant> as the second parameter.
2017-02-20 20:48:22 +00:00
</entry>
</row>
2007-03-31 19:18:23 +00:00
</tbody>
</tgroup>
</informaltable>
2007-03-31 11:20:55 +00:00
</para>
</refsect1>
<refsect1 role= "examples" >
&reftitle.examples;
<para >
2007-03-31 19:18:23 +00:00
<example >
<title > <function > mt_srand</function> example</title>
<programlisting role= "php" >
< ![CDATA[
< ?php
// seed with microseconds
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
2016-08-15 10:39:46 +00:00
return $sec + $usec * 1000000;
2007-03-31 19:18:23 +00:00
}
mt_srand(make_seed());
$randval = mt_rand();
?>
]]>
</programlisting>
</example>
2007-03-31 11:20:55 +00:00
</para>
</refsect1>
<refsect1 role= "seealso" >
&reftitle.seealso;
<para >
<simplelist >
2007-03-31 19:18:23 +00:00
<member > <function > mt_rand</function> </member>
<member > <function > mt_getrandmax</function> </member>
<member > <function > srand</function> </member>
2007-03-31 11:20:55 +00:00
</simplelist>
</para>
</refsect1>
2007-03-31 10:43:52 +00:00
</refentry>
2002-04-15 00:12:54 +00:00
<!-- 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
2009-09-25 07:04:39 +00:00
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
2002-04-15 00:12:54 +00:00
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
-->