3v4l.org

run code in 300+ PHP versions simultaneously
<?php function check_date($a1,$a2,$a3,$a4) { global $error; try { $date = DateTime::createFromFormat('d/m/Y', $a1); if ($date === false || $date->format('d/m/Y') !== $a1) throw new Exception('Invalid date'); } catch (Throwable $e) { echo "ERROR - Row ($a2) - Column ($a4) - {$e->getMessage()} $a3: \"$a1\"</br>" . PHP_EOL; $error = 1 ; } } check_date("\0", 1, "ISSUE_DATE", 'Start date'); check_date('20/01/2023', 2, "ISSUE_DATE", 'Start date'); check_date('3/4/2023', 3, "ISSUE_DATE", 'Start date'); check_date('2023-01-20', 4, "ISSUE_DATE", 'Start date'); check_date('', 5, "ISSUE_DATE", 'Start date'); check_date('a', 6, "ISSUE_DATE", 'Start date');
Output for 8.1.8 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
ERROR - Row (1) - Column (Start date) - DateTime::createFromFormat(): Argument #2 ($datetime) must not contain any null bytes ISSUE_DATE: ""</br> ERROR - Row (3) - Column (Start date) - Invalid date ISSUE_DATE: "3/4/2023"</br> ERROR - Row (4) - Column (Start date) - Invalid date ISSUE_DATE: "2023-01-20"</br> ERROR - Row (5) - Column (Start date) - Invalid date ISSUE_DATE: ""</br> ERROR - Row (6) - Column (Start date) - Invalid date ISSUE_DATE: "a"</br>
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 8.1.0 - 8.1.7
ERROR - Row (1) - Column (Start date) - Invalid date ISSUE_DATE: ""</br> ERROR - Row (3) - Column (Start date) - Invalid date ISSUE_DATE: "3/4/2023"</br> ERROR - Row (4) - Column (Start date) - Invalid date ISSUE_DATE: "2023-01-20"</br> ERROR - Row (5) - Column (Start date) - Invalid date ISSUE_DATE: ""</br> ERROR - Row (6) - Column (Start date) - Invalid date ISSUE_DATE: "a"</br>

preferences:
120.3 ms | 410 KiB | 5 Q