PHP mktime.. wat?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php-mktime-wat_255144/page_1 - zur Vollversion wechseln!


Umlüx schrieb am 30.01.2020 um 15:12

$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)


ill schrieb am 30.01.2020 um 15:28

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 schrieb am 30.01.2020 um 15:33

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.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025