Frage zu for Schleife

xtramen01

Erfahrenes Mitglied
Hallo Leute,

möchte mir eine kleinen Terminplaner machen.
Nun geht es um die Tagesansicht(24 Stunden).

Dies mache ich folgendermaßen:

PHP:
for ($i = 0; $i <= 23; $i++) {

echo $i . '.00 - ' . ($i+1) . '.00 <br>';

}

Problem ist nun folgendes:

Ich möchte nicht bei 0 Anfangen sondern bei 6.
So dass mein Tag eben nicht bei 0 sondern bei 6 beginnt.

Das wäre auch kein Ding.
Aber wie bekomme ich die Schleife dann dazu ab 23 wieder von 0 an zu fangen?

Gruss
 
Vielleicht so?

PHP:
for ($i = 6; $i <= 23; $i++) {
  echo $i.'.00 - '.($i+1 > 23 ? $i+1-24 : $i + 1).'.00<br />';
}

Ist ein bisschen gemogelt, aber sollte funktionieren.
 
Zur Not mit einem Array in dem die Uhrzeiten hinterlegt sind.

PHP:
$zeit[0] = "6.00";
$zeit[1] = "7.00";
$zeit[2] = "8.00";
$zeit[3] = "9.00";
...
$zeit[18] = "0.00";
...
$zeit[20] = "2.00";
$zeit[21] = "3.00";
$zeit[22] = "4.00";
$zeit[23] = "5.00";

for ($i = 0; $i < 23; $i++) {
  echo $zeit[$i] ." - " .$zeit[$i + 1] ."<br>";
}
 
Zuletzt bearbeitet:
Wie wäre es so?

PHP:
for($i = 0, $x = 6; $i <= 23; $i++, $x++)
{
	if($x > 23)
	{
		$x = 0;
	}
	echo $x . '.00 - ' . ($x+1) . '.00 <br>';
}
 
Meine Meinung: Klassisches Problem für einen Modulo Operator

PHP:
for ($i = 6; $i <= 29; $i++)
{
   echo ($i % 23) . '.00 - ' . (($i+1) % 23) . '.00 <br>'; 
}
 
Zurück