<?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.4 $ --> <!-- splitted from ./en/functions/math.xml, last change in rev 1.2 --> <refentry id="function.mt-rand"> <refnamediv> <refname>mt_rand</refname> <refpurpose>Generate a better random value</refpurpose> </refnamediv> <refsect1> <title>Description</title> <methodsynopsis> <type>int</type><methodname>mt_rand</methodname> <methodparam choice="opt"><type>int</type><parameter>min</parameter></methodparam> <methodparam><type>int</type><parameter>max</parameter></methodparam> </methodsynopsis> <simpara> Many random number generators of older libcs have dubious or unknown characteristics and are slow. By default, PHP uses the libc random number generator with the <function>rand</function> function. <function>mt_rand</function> function is a drop-in replacement for this. It uses a random number generator with known characteristics, the Mersenne Twister, which will produce random numbers that should be suitable for seeding some kinds of cryptography (see the home pages for details) and is four times faster than what the average libc provides. The Homepage of the Mersenne Twister can be found at <ulink url="&url.mersenne;">&url.mersenne;</ulink>, and an optimized version of the MT source is available from <ulink url="&url.mersenne.twister;">&url.mersenne.twister; </ulink>. </simpara> <simpara> If called without the optional <parameter>min</parameter>, <parameter>max</parameter> arguments <function>mt_rand</function> returns a pseudo-random value between 0 and <constant>RAND_MAX</constant>. If you want a random number between 5 and 15 (inclusive), for example, use <literal>mt_rand (5, 15)</literal>. </simpara> <simpara> In older versions of PHP, you had to seed the random number generator before use with <function>mt_srand</function>. Since 4.2.0 this is no longer necessary. </simpara> <note> <para> In versions before 3.0.7 the meaning of <parameter>max</parameter> was <parameter>range</parameter>. To get the same results in these versions the short example should be <literal>mt_rand (5, 11)</literal> to get a random number between 5 and 15. </para> </note> <simpara> See also <function>mt_srand</function>, <function>mt_getrandmax</function> and <function>rand</function>. </simpara> </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:"../../../../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 -->