if-else funktioniert nicht

quidnovi

Erfahrenes Mitglied
Hi folks,

folgender Code:
PHP:
	$h = 17;
	$m = 00;
	
	$hSec = ($h * 60 * 60);
	$mSec = ($m * 60);
	
	$zeit = ((($hSec + $mSec - 1800) / 60) / 60);
	$hEnd =  explode('.', $zeit);
	echo "<p />" . $hEnd[0] . "//" . $hEnd[1];
		
	if ($hEnd[1] = 5){
		$mEnd = 30;
	}
	else{
		$mEnd = 00;
	}

       // das geht auch nicht:
       // if(!$hEnd){ $mEnd = 00; }
	
	echo "<p />" . $hEnd[0] . "//" . $mEnd;

Hier ergibt die Ausgabe 16//30 - also richtig.

Wenn ich aber nun die Variable $m auf 30 ändere, dann hat das Array $hEnd keinen 2. Wert, da es sich rechnerisch so ergibt.

Nur muss ich den nicht vorhandenen Wert mit 00 ersetzen.

So wie ich es habe, geht es natürlich nicht, daher möchte ich Euch um Hilfe bitten. Danke
 
So, ich gehe einfach mal davon aus das du mit zeiten rechnest, warum verwendest du dann nicht auch die PHP Funktionen davon, dann musst du dir die ganze arbeit nicht machen:

PHP:
    $h = 17;
    $m = 30;
    
    $uts = mktime($h, $m);
    $uts -= 1800; // hier deine 1800 sekunden abziehen, könntest du aber auch gleich bei mktime machen...
    
    echo date('H:i', $uts);

Possitiver nebeneffekt ist das auch Zeiten über die 0:00 Grenze funktionieren
 
Zurück