1
0
mirror of https://github.com/php/doc-de.git synced 2026-04-29 18:03:13 +02:00
Files
archived-doc-de/reference/math/functions/mt-rand.xml
T
Hakan Kuecuekyilmaz bb0b697617 Characteristik -> Charakteristik
git-svn-id: https://svn.php.net/repository/phpdoc/de/trunk@173741 c90b9560-bf6c-de11-be94-00142212c4b1
2004-11-29 06:19:08 +00:00

94 lines
3.3 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<!-- splitted from ./de/functions/math.xml, last change in rev 1.8 -->
<!-- last change to 'mt-rand' in en/ tree in rev 1.2 -->
<refentry id="function.mt-rand">
<refnamediv>
<refname>mt_rand</refname>
<refpurpose>Erzeugt 'bessere' Zufallszahlen</refpurpose>
</refnamediv>
<refsect1>
<title>Beschreibung</title>
<methodsynopsis>
<type>int</type><methodname>mt_rand</methodname>
<methodparam choice="opt"><type></type><parameter>int min</parameter></methodparam>
<methodparam choice="opt"><type></type><parameter>int max</parameter></methodparam>
</methodsynopsis>
<para>
Die PHP <function>rand</function> Funktion benutzt den in der
jeweiligen libc enthaltenen Zufallsgenerator. Gerade in älteren
libc-Versionen ist dieser aber oft langsam und die Qualität der
erzeugten Pseudozufalls-Sequenzen ist unbefriedigend bis
unbekannt.
</para>
<para>
Die Funktion <function>mt_rand</function> bietet einen Drop-In
Ersatz für die von der libc bereitgestellten Funktionen. Sie
benutzt einen Zufallsgenerator mit bekannter Charakteristik, den
sogenannten "Mersenne Twister", der Pseudozufalls-Sequenzen
generiert, die auch kryptografischen Ansprüchen genügen sollten
und viermal so schnell arbeitet wie der typische
libc-Algorithmus.
</para>
<para>
Weitere Informationen zum Mersenne Twister und zur optimierten
Implementation finden sich unter <ulink
url="&url.mersenne;">&url.mersenne;</ulink>.
</para>
<para>
Ohne die optionalen Parameter <parameter>min</parameter> und
<parameter>max</parameter> liefert <function>mt_rand</function>
eine Pseudo-Zufallszahl zwischen 0 und einem plattformabhängigen
Maximalwert, der mit <function>mt_getrandmax</function> ermittelt
werden kann.
</para>
<para>
Benutzen Sie unbedingt <function>mt_srand</function>, um vor dem
ersten Aufruf von <function>mt_rand</function> einen neuen
Startwert festzulegen, ansonsten erhalten Sie bei jedem
Programmlauf dieselbe Sequenz von Werten.
</para>
<note>
<para>
Seit PHP 4.2.0 ist es nicht mehr nötig, den Zufallszahlengenerator zu
initialisieren, bevor man ihn benutzt.
</para>
</note>
<note>
<para>
In PHP-Versionen vor 3.0.7 hatte der zweite Parameter
<parameter>max</parameter> nicht den Maximalwert sondern die
Größe des Werteintervalls an, d.h. in diesen älteren Version muss
statt <literal>mt_rand(min,max) mt_rand(min,max-min)</literal>
benutzt werden, um dasselbe Ergebnis zu erhalten.
</para>
</note>
<para>
Siehe auch <function>mt_srand</function>,
<function>mt_getrandmax</function>, <function>srand</function>,
<function>rand</function> und <function>getrandmax</function>.
</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:"../../../../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
-->