3v4l.org

run code in 300+ PHP versions simultaneously
<?php $d = DateTime::createFromFormat('Y-m-d', '2014-05-30'); var_dump($d && $d->format('Y-m-d') == '2014-05-30'); $birthday = date('d-m-Y', strtotime('0000-00-00')); $birthDate = explode('-', $birthday); echo $age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md") ? ((date("Y") - $birthDate[2]) - 1) : (date("Y") - $birthDate[2]));
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
bool(true) Fatal error: Uncaught TypeError: mktime(): Argument #6 ($year) must be of type ?int, string given in /in/KGPtZ:9 Stack trace: #0 /in/KGPtZ(9): mktime(0, 0, 0, '30', '11', '') #1 {main} thrown in /in/KGPtZ on line 9
Process exited with code 255.
Output for 7.3.16 - 7.3.33, 7.4.0 - 7.4.33
bool(true) Warning: mktime() expects parameter 6 to be int, string given in /in/KGPtZ on line 9 Warning: A non-numeric value encountered in /in/KGPtZ on line 11 2015
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33
bool(true) Warning: mktime() expects parameter 6 to be integer, string given in /in/KGPtZ on line 9 Warning: A non-numeric value encountered in /in/KGPtZ on line 11 2015
Output for 7.0.0 - 7.0.20
bool(true) Warning: mktime() expects parameter 6 to be integer, string given in /in/KGPtZ on line 9 2015
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28
bool(true) Warning: mktime() expects parameter 6 to be long, string given in /in/KGPtZ on line 9 2015

preferences:
205.46 ms | 402 KiB | 270 Q