"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHP mktime.. wat?

Umlüx 30.01.2020 - 15:12 2288 2
Posts

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8902
$cdate = mktime(12, 0, 0, 07, 31, 2020); ... bis hierher funktionierts
$cdate = mktime(12, 0, 0, 08, 01, 2020); ... Invalid numeric literal

$cdate = mktime(12, 0, 0, 8, 01, 2020); ... funktioniert aber wieder

was hats da mit der führenden null? ist das schonmal jemanden aufgefallen? liegts an mir? :D
(PHP Version 7.1.10)
Bearbeitet von Umlüx am 30.01.2020, 15:34

ill

...
Avatar
Registered: Nov 2003
Location: Salzburg
Posts: 2053
Ach, die Freude mit PHPs dynamischen Types bzw Integer values.

Eine führende Null steht hier für ein Oktal (https://www.php.net/manual/en/langu...pes.integer.php)

Da es kein "08" Oktal gibt, bekommst du hier den Fehler.
Ob mktime im Hintergrund eine Umwandlung macht und trotzdem die richtigen Datumswerte ausspuckt, weiß ich gerade nicht.

Solltest du die preceding zeros beibehalten wollen ist es hier wohl einfacher, Strings zu verwenden. Die sollten bei type coercion auch mit der Null dann automatisch in den dezimalen Integer-Wert umgewandelt werden. Oder einfach die Null kicken ;)

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8902
ja ist so, danke :)
hat mir GAT auch gerade erklärt. an das hatte ich gar nicht gedacht...

die führenden nullen sind eigentlich nur optisch für mich, ich hab zum glück kein gröberes problem damit.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz