<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.random.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.rand.php',
    1 => 'rand',
    2 => 'Erzeugt eine zuf&auml;llige Zahl',
  ),
  'up' => 
  array (
    0 => 'ref.random.php',
    1 => 'Random Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.mt-srand.php',
    1 => 'mt_srand',
  ),
  'next' => 
  array (
    0 => 'function.random-bytes.php',
    1 => 'random_bytes',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/random/functions/rand.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.rand" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">rand</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">rand</span> &mdash; <span class="dc-title">Erzeugt eine zufällige Zahl</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.rand-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">function</span> <span class="methodname"><strong>rand</strong></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

  <div class="methodsynopsis dc-description"><span class="modifier">function</span> <span class="methodname"><strong>rand</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$min</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$max</code></span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

  <p class="simpara">
   Gibt eine Pseudozufallszahl zwischen <code class="parameter">min</code> und
   <code class="parameter">max</code> (inklusive) zurück oder zwischen 0 und
   <span class="function"><a href="function.getrandmax.php" class="function">getrandmax()</a></span>, falls keine Parameter angegeben wurden.
   Wenn z. B. ein Zufallswert zwischen 5 und 15 benötigt wird, so wäre der
   Aufruf dafür <code class="literal">rand(5, 15)</code>.
  </p>
  <div class="caution"><strong class="caution">Achtung</strong>
 <p class="para">
  Diese Funktion erzeugt keine kryptografisch sicheren Werte und
  <em>darf nicht</em> für kryptografische Zwecke verwendet werden
  oder für Zwecke, bei denen die zurückgegebenen Werte nicht abschätzbar sein
  dürfen.
 </p>
 <p class="para">
  Falls kryptographisch sichere Zufallszahlen benötigt werden, kann der
  <span class="classname"><a href="class.random-randomizer.php" class="classname">Random\Randomizer</a></span> mit der
  <span class="classname"><a href="class.random-engine-secure.php" class="classname">Random\Engine\Secure</a></span>-Engine verwendet werden. Für
  einfache Anwendungsfälle bieten die Funktionen <span class="function"><a href="function.random-int.php" class="function">random_int()</a></span>
  und <span class="function"><a href="function.random-bytes.php" class="function">random_bytes()</a></span> eine bequeme und sichere
  <abbr title="Application Programming Interface">API</abbr>, die den <abbr title="Cryptographically Secure PseudoRandom Number Generator">CSPRNG</abbr> des
  Betriebssystems verwendet.
 </p>
</div>
  <div class="caution"><strong class="caution">Achtung</strong>
 <p class="simpara">
    This function uses the global Mt19937 (“Mersenne Twister”) instance as the source of randomness and thus shares its state with all other functions using the global Mt19937.
    Using any of these functions advances the sequence for <em>all</em> the other functions, regardless of scope.
  </p>
  <p class="simpara">
    Generating repeatable sequences by seeding <span class="function"><a href="function.mt-srand.php" class="function">mt_srand()</a></span> or <span class="function"><a href="function.srand.php" class="function">srand()</a></span> with a known value will also yield repeatable output from this function.
  </p>
  <p class="simpara">
    Prefer using <span class="classname"><a href="class.random-randomizer.php" class="classname">Random\Randomizer</a></span> methods in all newly written code.
 </p>
</div>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <span class="simpara">
    Vor PHP 7.1.0 war <span class="function"><a href="function.getrandmax.php" class="function">getrandmax()</a></span> auf manchen Plattformen
    (z. B. Windows) nur 32767. Wenn ein größerer Wertebereich benötigt wird,
    kann entweder ein größerer <code class="parameter">max</code>-Wert übergeben werden
    oder es kann stattdessen die Funktion <span class="function"><a href="function.mt-rand.php" class="function">mt_rand()</a></span>
    verwendet werden.
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <span class="simpara">
    Ab PHP 7.1.0 verwendet <span class="function"><strong>rand()</strong></span> denselben
    Zufallszahlengenerator wie <span class="function"><a href="function.mt-rand.php" class="function">mt_rand()</a></span>. Um die
    Abwärtskompatibilität zu wahren, erlaubt <span class="function"><strong>rand()</strong></span>, dass
    <code class="parameter">max</code> kleiner als <code class="parameter">min</code> ist,
    ohne wie <span class="function"><a href="function.mt-rand.php" class="function">mt_rand()</a></span> <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurückzugeben.
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.rand-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">min</code></dt>
     <dd>
      <p class="para">
       Der niedrigste zurückzugebende Wert (Vorgabe: 0)
      </p>
     </dd>
    
    
     <dt><code class="parameter">max</code></dt>
     <dd>
      <p class="para">
       Der höchste zurückzugebende Wert (Vorgabe:
       <span class="function"><a href="function.getrandmax.php" class="function">getrandmax()</a></span>)
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.rand-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Ein Pseudozufallswert zwischen <code class="parameter">min</code> (oder 0) und
   <code class="parameter">max</code> (oder <span class="function"><a href="function.getrandmax.php" class="function">getrandmax()</a></span>,
   inklusive).
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.rand-changelog">
  <h3 class="title">Changelog</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Beschreibung</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>7.2.0</td>
       <td>
        <span class="function"><strong>rand()</strong></span>
        <a href="migration72.incompatible.php#migration72.incompatible.rand-mt_rand-output" class="link">erhielt einen Bugfix</a>
        für einen Modulus-Verzerrungsfehler. Das bedeutet, dass sich Folgen
        mit einem bestimmten Startwert ab PHP 7.1 auf 64bit-Rechnern
        unterscheiden können.
       </td>
      </tr>

      <tr>
       <td>7.1.0</td>
       <td>
        <span class="function"><strong>rand()</strong></span>
        <a href="migration71.incompatible.php#migration71.incompatible.rand-srand-aliases" class="link">ist nun</a>
        ein Alias von <span class="function"><a href="function.mt-rand.php" class="function">mt_rand()</a></span>.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.rand-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 <span class="function"><strong>rand()</strong></span>-Beispiel</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">rand</span><span style="color: #007700">(), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">rand</span><span style="color: #007700">(), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />echo </span><span style="color: #0000BB">rand</span><span style="color: #007700">(</span><span style="color: #0000BB">5</span><span style="color: #007700">, </span><span style="color: #0000BB">15</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">7771
22264
11</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.rand-notes">
  <h3 class="title">Anmerkungen</h3>
  <div class="warning"><strong class="warning">Warnung</strong>
   <p class="para">
    Der Bereich zwischen <code class="parameter">min</code> und
    <code class="parameter">max</code> muss innerhalb von
    <span class="function"><a href="function.getrandmax.php" class="function">getrandmax()</a></span> liegen, d. h.
    abs(<code class="parameter">max</code> - <code class="parameter">min</code>) &lt;=
    <span class="function"><a href="function.getrandmax.php" class="function">getrandmax()</a></span>.
    ansonsten wird <span class="function"><strong>rand()</strong></span> möglicherweise Zufallszahlen
    schlechter Qualität zurückgeben.
   </p>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.rand-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.srand.php" class="function" rel="rdfs-seeAlso">srand()</a> - Legt den Anfangswert f&uuml;r den Zufallsgenerator fest</span></li>
    <li><span class="function"><a href="function.getrandmax.php" class="function" rel="rdfs-seeAlso">getrandmax()</a> - Liefert die gr&ouml;&szlig;tm&ouml;gliche Zufallszahl</span></li>
    <li><span class="function"><a href="function.mt-rand.php" class="function" rel="rdfs-seeAlso">mt_rand()</a> - Erzeugt eine Zufallszahl nach dem Mersenne-Twister-Verfahren</span></li>
    <li><span class="function"><a href="function.random-int.php" class="function" rel="rdfs-seeAlso">random_int()</a> - Get a cryptographically secure, uniformly selected integer</span></li>
    <li><span class="function"><a href="function.random-bytes.php" class="function" rel="rdfs-seeAlso">random_bytes()</a> - Get cryptographically secure random bytes</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>