3v4l.org

run code in 500+ PHP versions simultaneously
<?php $array = ['year' => 1, 'month' => 2, 'day' => '2']; $valid_date = FALSE; if (!empty($array['year']) && !empty($array['month']) && !empty($array['day'])) { $valid_date = checkdate($array['month'], $array['day'], $array['year']); } var_dump($valid_date); $valid_date = FALSE; if (array_key_exists('year', $array) && array_key_exists('month', $array) && array_key_exists('day', $array)) { if (@checkdate($array['month'], $array['day'], $array['year'])) { $valid_date = TRUE; } } var_dump($valid_date);
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.22, 8.5.0 - 8.5.7
bool(true) bool(true)

preferences:
76.75 ms | 1492 KiB | 4 Q