3v4l.org

run code in 300+ PHP versions simultaneously
<?php $date_x = new DateTime('2000-01-0x'); $date_y = new DateTime('1999-12-31'); $date_z = new DateTime('1999-12-31'); var_dump($date_y == $date_z); var_dump($date_x == $date_y); var_dump('with x', $date_x->format('Y-m-d H:i:sP')); var_dump(' no x', $date_y->format('Y-m-d H:i:sP')); var_dump($date_x); var_dump($date_y);
Output for 5.4.30 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
bool(true) bool(false) string(6) "with x" string(25) "1999-12-31 00:00:00-11:00" string(6) " no x" string(25) "1999-12-31 00:00:00+01:00" object(DateTime)#1 (3) { ["date"]=> string(26) "1999-12-31 00:00:00.000000" ["timezone_type"]=> int(2) ["timezone"]=> string(1) "X" } object(DateTime)#2 (3) { ["date"]=> string(26) "1999-12-31 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" }
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 bool(true) bool(false) string(6) "with x" string(25) "1999-12-31 00:00:00-11:00" string(6) " no x" string(25) "1999-12-31 00:00:00+01:00" object(DateTime)#1 (3) { ["date"]=> string(26) "1999-12-31 00:00:00.000000" ["timezone_type"]=> int(2) ["timezone"]=> string(1) "X" } object(DateTime)#2 (3) { ["date"]=> string(26) "1999-12-31 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" }
Output for 7.3.32 - 7.3.33, 8.0.13
bool(true) bool(false) string(6) "with x" string(25) "1999-12-31 00:00:00-11:00" string(6) " no x" string(25) "1999-12-31 00:00:00+00:00" object(DateTime)#1 (3) { ["date"]=> string(26) "1999-12-31 00:00:00.000000" ["timezone_type"]=> int(2) ["timezone"]=> string(1) "X" } object(DateTime)#2 (3) { ["date"]=> string(26) "1999-12-31 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.4.4 - 5.4.29
bool(true) bool(false) string(6) "with x" string(25) "1999-12-31 00:00:00-11:00" string(6) " no x" string(25) "1999-12-31 00:00:00+01:00" object(DateTime)#1 (3) { ["date"]=> string(19) "1999-12-31 00:00:00" ["timezone_type"]=> int(2) ["timezone"]=> string(1) "X" } object(DateTime)#2 (3) { ["date"]=> string(19) "1999-12-31 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" }

preferences:
194.65 ms | 402 KiB | 268 Q