3v4l.org

run code in 300+ PHP versions simultaneously
<?php function convert_uk_reg_year_to_yyyy($year) { // Normalise year to padded with 1 leading zero, if necessary. This ensures that // if the input is int(9) instead of string(2) "09" then it will still work as // expected. $year = str_pad((int)$year, 2, 0, STR_PAD_LEFT); // Make sure input is within valid range if ($year < 0 || $year > 99) { return false; } // Create result return "20" . ($year[0] % 5) . $year[1]; } // given examples var_dump(convert_uk_reg_year_to_yyyy(55)); var_dump(convert_uk_reg_year_to_yyyy(03)); var_dump(convert_uk_reg_year_to_yyyy(62)); // future plates var_dump(convert_uk_reg_year_to_yyyy(17)); // 2017 var_dump(convert_uk_reg_year_to_yyyy(22)); // 2022 var_dump(convert_uk_reg_year_to_yyyy(72)); // 2022 // invalid input var_dump(convert_uk_reg_year_to_yyyy(101)); var_dump(convert_uk_reg_year_to_yyyy(-1)); var_dump(convert_uk_reg_year_to_yyyy(999));
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
string(4) "2005" string(4) "2003" string(4) "2012" string(4) "2017" string(4) "2022" string(4) "2022" bool(false) bool(false) bool(false)

preferences:
255.77 ms | 406 KiB | 312 Q