JavaScript / DHTML, PHP / MySQL

Zufallszahlen mit JavaScript Math.random() Adaption zu PHP rand() – Tutorial

WordPress Entwickler und Webdesigner

Das Generieren von Zufallszahlen in JavaScript ist nicht ganz so einfach und komfortabel wie in PHP. In PHP lassen sich Zufallszahlen relativ einfach mit der Funktion rand ( int $min , int $max ) erzeugen. Die Funktion kann zusätzlich mit zwei optinalen Parametern ausgestattet werden:

  1. Mindestgröße der Zufallszahl
  2. Maximalgröße der Zufallszahl

So könnte ein Funktionsaufruf in PHP zum Beispiel wie folgt aussehen:

< ?php
// Gibt eine Zufallszahl zwischen 0 bis 32768 zurück
echo( rand() );
 
// Gibt eine Zufallszahl zwischen 10 bis 30 zurück
echo( rand( 10, 30 ) );
?>

Anzeige:




Wenn wir das ganze nun auf JavaScript übertragen möchten, ist es nicht mehr ganz so simpel, zumindest wenn man sich an die Struktur von PHP gewöhnt hat. Die Funktion zum generieren von Zufallszahlen in JavaScript ist: Math.random() – Dabei wird eine Zufallszahl zwischen 0 – 1 generiert ( z.B. 0.14578 ).

Ein Beipsiel dazu würde so aussehen:

<script type="text/javascript">
// Schreibt eine Zufallszahl zwischen 0 und 1 in das Dokument
document.write(Math.random() + "<br />");
 
// Speichert eine Zufallszahl zwischen 0 und 1 in der Variable randNumber
randNumber = Math.random();
</script>

In der Regel werden in Scripten allerdings Ganzzahlen (engl. Integer) benötigt, dass bedeutet wir müssen die JavaScript Math.random() Funktion modifizieren um dies zu erreichen. Um eine Zufallszahl von 0 – X zu generieren ist der Rechenschritt relativ einfach. Wenn wir zum Beispiel eine Zufallszahl zwischen 0 – 10 generieren möchten multiplizieren wir einfach den Math.random() Wert mit 11 (bei 0 – 20 multiplizieren wir mit 21 usw.) und runden das Ergebnis ab – Das sieht dann als ganzes Script zum Beispiel so aus:

<script type="text/javascript">
// Math.floor() - Liefert die nächstniedrigere Ganzzahl des Parameters zurück (Abrundung).
// Speichert eine Zufallszahl zwischen 0 und 10 in der Variable randNumber
randNumber = Math.floor( Math.random()*11 );
</script>

Mit dem oben gezeigten Script sollte den meisten bereits geholfen sein, wer eine komplette Adaption von JavaScript Zufallszahlen zur PHP rand() Funktion benötigt, muss die Rechnung weiter ausbauen. Folgend ist eine JavaScript Funktion zu finden, die es ermöglicht eine rand() Funktion in JavaScript auszuführen, die genau so funktioniert wie die PHP rand() Funktion:

<script type="text/javascript">
function rand (min, max) {
	var args = arguments.length;  
	if (args === 0) {
		min = 0;
		max = 32768;
    	}
    	return Math.floor( Math.random() * (max - min + 1) ) + min;
}
// die alert Ausgabe liefert nun einen Zufallswert zwischen 10 und 30
alert( rand( 10, 30 ) );
</script>

Mit dieser einfachen Funktion haben wir nun eine genaue Kopie der Funktionsweise der PHP rand() Funktion und können Sie auch genau so benutzen.

Schlagworte zu diesem Artikel: , , ,

Veröffentlicht von Pascal Bajorat

Pascal Bajorat ist Mediengestalter und arbeitet als Webdesigner / Webentwickler, Autor und Trainer in Berlin. In den vergangenen Jahren hat er sich vor allem auf das CMS WordPress und die Entwicklung von hochwertigen Webseiten und Sonderlösungen spezialisiert. Er hat den Webdesign-Podcast.de 2010 gegründet.

Webseite:

1 Antwort zu “Zufallszahlen mit JavaScript Math.random() Adaption zu PHP rand() – Tutorial”

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Der Benachrichtigungs-Dienst wird von WordPress.com (Automattic Inc., USA ) bereitgestellt. Mit der Anmeldung akzeptierst du die Datenschutzerklärung. Die Abmeldung / Abo-Verwaltung ist jederzeit über diesen Link möglich.