Je nach Tageszeit andere Zufallszahl ausgeben

netzix

Well-known member
ID: 334683
L
23 November 2008
114
3
Hallo, ich möchte gerne je nach Tageszeit eine andere Zufallszahl ausgeben.

Also, wenn es 16:05 Uhr ist eine Zahl aus dem Bereich 500 - 550, wenn es 16:10 ist eine Zahl zwischen 400 - 460 etc.

Nur leider hab ich von Programmierung ünerhaupt keine Ahnung.

Hab nach Codeschnipseln gegoogelt, aber nix gefunden, was das in etwa abdecken könnte.

Kann mir jemand Hilfe geben? WÄr toll
 
PHP:
<?
$timestamp = time(); //uhrzeit in variable $timestamp speichern
$stunde = date("H",$timestamp); //Stunde "rausziehen" und in Variable $stunde speichern
$minute = date("i",$timestamp); //Minute "rausziehen" und in Variable $minute speichern
if ($stunde >= 16 AND $stunde < 17) //Nur Ausführen wenn Stunde größergleich 16 und kleiner 17 ist also zwischen 16:00Uhr und 16:59Uhr
{
$zufall = rand(0,100); //Zufall 0 bis 100 in Variable Variable $zufall speichern
}
if ($stunde == 17 AND $minute < 10 AND $minute > 0) //Nur Ausführen wenn Stunde gleich 17 ist und Minute kleiner 10 und größer 0 ist also nur zwischen 17:01Uhr - 17:09Uhr
{
$zufall = rand(100,200); //Zufall 100 bis 200 in Variable Variable $zufall speichern
}
echo $zufall; //die Zufallszahl ausgeben
?>

ich hoffe du hast das Prinzip verstanden und kannst es auf deine zeiten anpassen ;) Habe es nicht getestet aber müsste so gehen :)

mfg

Chris
 
das wurde mir auch schnell klar hatte am Anfang sogar

PHP:
if ($stunde > 16 AND $stunde < 17)

stehen :ugly: :ugly: hab es dann aber schnell editiert bevor wer diese Peinlichkeit sieht :mrgreen:

mfg

Chris
 
Bevor Ihr jetzt 1000 If-Bedingungen testet, denkt doch mal über SWITCH nach

SWITCH($stunde)
{
case 1: case 2:
if($minuten <30)
{$zahl = mt_rand(100,200); }
else
{$zahl = mt_rand(300,400); }
break;
case 16:
if($minuten <30)
{$zahl = mt_rand(100,200); }
else
{$zahl = mt_rand(300,400); }
break;
default:
if($minuten <30)
{$zahl = mt_rand(100,200); }
else
{$zahl = mt_rand(300,400); }
break;
}

Etwa in der Form, ist übersichtlicher und schneller
 
Abhängig von der Anforderung kann ich auch mit Arrays arbeiten. Einen für die Untergrenze und einen für die Obergrenze.

$untergrenze = ARRAY ( 100 , 200, 150, 400 ...... ) ;
$obergrenze = ARRAY ( 500 , 700, 950, 800 ...... ) ;

$timestamp = time();
$stunde = date("H",$timestamp);
$minute = date("i",$timestamp);
$subscr = $stunde*2+INTVAL($minute/30) ;

$zufallswert = mt_rand ( $untergrenze[$subscr],$obergrenze[$subscr] ) ;

wechselt alle 30 Minuten den Bereich für die Zufallszahl
( ungetestet und nur mal so als Anregung )