2 for() Schleifen synchronisieren
Jens Müller
- programmiertechnik
0 Nils
Morgen,
Ich moechte gerne 2 Werte synchron, um einen gleichwertigen Faktor (+8), mit einer, warscheinlich
eher 2 for() Schleife(n) erhoehen lassen.
Wert 1 PST = 16:00 | 00:00
Wert 2 GMT = 23:00 | 07:00 folge Tag
Beide Werte sollen auf Mitternacht Pacific Standard
Time erhoeht werden
Wenn ich die for() Schleifen verschachtel bekomm ich
nur Unsinn raus, in etwa:
for($i = $pst_start; $i <= $pst_end; $i++)
{
for ($x = $gmt_start; $x <= $gmt_end; $x++)
{
}
}
PST: 17:00
GMT: 00:00
01:00 - 07:00
PST: 18:00
GMT: 00:00
01:00 - 07:00
oder Umgekehrt.
Wie schaffe ich's nun die Schleifen synchron laufen zu lassen, das meine Ergebnisse uebereinstimmen:
PST 16:00
GMT 23:00
PST 17:00
GMT 00:00
PST 18:00
GMT 01:00
Ein tritt in den Hintern, in die Richtige Richtung
wuerd mir schon genuegen.
gruesse aus'm ruhrpott
jens mueller
Wenn ich die for() Schleifen verschachtel bekomm ich
nur Unsinn raus, in etwa:for($i = $pst_start; $i <= $pst_end; $i++)
{
for ($x = $gmt_start; $x <= $gmt_end; $x++)
{
}
}
»»
? wenn du die Schleife ablaufen lässt, kommt dann nicht einfach garnichts heraus ???
bzw. Schleife 2 wird (in diesem Beispiel) 8 x 8 = 64 mal erhöht.(Durchgänge Schleife 1 x Durchgänge Schleife 2), aber es wird nichts ausgegeben.
Welche Ausgabe möchtest du denn haben?
Wie schaffe ich's nun die Schleifen synchron laufen zu lassen, das meine Ergebnisse uebereinstimmen:
PST 16:00
GMT 23:00
PST 17:00
GMT 00:00
PST 18:00
GMT 01:00
Ich hoffe, ich habe dich verstanden..
wie wärs damit (wenn du konstant um 8 erhöhen willst):
for($i=0 $i<8 $i++) {
$pst += $einestunde; //die Werte müssen natürlich entsprechend und addierbar sein
$gmt += $einestunde;
print "PST = $pst";
print "GMT = $gmt";
}
gruesse aus'm ruhrpott
jens mueller
Hallo ,
? wenn du die Schleife ablaufen lässt, kommt dann
nicht einfach garnichts heraus ???
Was herraus kam war Unsinn:
16[PST]
- 23[GMT], 00[GMT], 01[GMT], 02[GMT],03[GMT]
04[GMT], 05[GMT], 06[GMT], 06[GMT]
17[PST]
- 23[GMT], 00[GMT], 01[GMT], 02[GMT],03[GMT]
04[GMT], 05[GMT], 06[GMT], 06[GMT]
18[PST]
- 23[GMT]...
bzw. Schleife 2 wird (in diesem Beispiel)
8 x 8 = 64 mal erhöht.(Durchgänge Schleife 1 x
Durchgänge Schleife 2), aber es wird nichts
ausgegeben.
Nein fuer jede Stunde wurden die GMT Zeiten einmal
komplett ausgegeben.
for($i=0 $i<8 $i++) {
$pst += $einestunde;
$gmt += $einestunde;
print "PST = $pst";
print "GMT = $gmt";
}
//die Werte müssen natürlich entsprechend und
addierbar sein
Im Endeffekt richtig, hab's nur noch ein wenig modifiziert:
$pst_start = "16";
$pst_end = "24";
$gmt_start = "23";
$gmt_end = "07";
for ($i = $pst_start; $i <= $pst_end; $i++)
{
$gmt = ++$gmt_start;
// Anpassen an Uhrzeit, es gibt ja keine Stunden 25, 26...
if ($gmt_start xor $pst_start == "23")
{
if ($pst_start >= "23")
{
unset($pst_start);
$pst_start = "0";
}
if ($gmt_start >= "23")
{
unset($gmt_start);
$gmt_start = "0";
}
}
print "$pst: $i -- $gmt $gmt\n";
}
Ausgabe:
$pst: 16 -- $gmt: 23
$pst: 17 -- $gmt: 00
$pst: 18 -- $gmt: 01
$pst: 19 -- $gmt: 02
So wollte ich es auch haben, Danke.
gruesse aus'm ruhrpott
jens mueller