Hier mal noch ein Beispiel, wie es laufen könnte
$AufTermin = "";
$Start = "09:00";
$Ende = "17:30";
//$termine = [ [ 't_von' => "10:00", 't_bis' => "11:00" ],
// [ 't_von' => "12:15", 't_bis' => "13:00" ],
// [ 't_von' => "15:00", 't_bis' => "16:30" ]
// ];
$termine = [ [ 't_von' => "10:00", 't_bis' => "13:00" ],
[ 't_von' => "10:00", 't_bis' => "18:30" ]
];
echo "<pre>";
print_r ( $termine );
echo "</pre>";
echo "<br><br>";
for ($i=0; $i<count($termine); $i++)
{
if ($i+1 <count($termine)) {
$AufTermin .= $termine[$i]['t_bis'] . " bis " . $termine[$i+1]['t_von'] . "<br>";
} else {
$AufTermin .= $termine[$i]['t_bis'] . " bis " . $Ende;
}
echo "Von: " . $termine[$i]['t_von'] . "<br>";
echo "Bis: " . $termine[$i]['t_bis']. "<br><br>";
}
echo "<br>";
echo "<strong>im Lager</strong>:<br>" . $AufTermin;
echo "<br><br>";
Die Ausgabe lautet
Array
(
[0] => Array
(
[t_von] => 10:00
[t_bis] => 13:00
)
[1] => Array
(
[t_von] => 10:00
[t_bis] => 18:30
)
)
Von: 10:00
Bis: 13:00
Von: 10:00
Bis: 18:30
13:00 bis 10:00
18:30 bis 17:30
Dieses passt nun überhaupt nicht mehr, richtig wäre
09:00 bis 10:00
Warum von 09:00 - Weil der Start ganz oben auf 09:00 Uhr gesetzt ist.
Warum bis 10:00 - Weil der erste Termin um 10:00 Uhr beginnt.
Ende wäre 17:30 Uhr, der Termin geht aber bis 18:30 also muss nichts mehr angezeigt werden.
Hier überlappen sich zwei Termine