3v4l.org

run code in 300+ PHP versions simultaneously
<?php function capitalize_after_periods($string='', $delimiters = array()) { foreach ($delimiters as $delimiter) { $temp = explode($delimiter, $string); array_walk($temp, function (&$value) { $value = ucfirst($value); }); $string = implode($temp, $delimiter); } return $string; } $string ="I am a string with several periods.period #1. period #2."; $result = capitalize_after_periods($string, array('.', '. ')); var_dump($result);
Output for 8.4.1 - 8.4.14
Fatal error: Uncaught TypeError: implode(): Argument #1 ($separator) must be of type string, array given in /in/DMZ0t:9 Stack trace: #0 /in/DMZ0t(9): implode(Array, '.') #1 /in/DMZ0t(16): capitalize_after_periods('I am a string w...', Array) #2 {main} thrown in /in/DMZ0t on line 9
Process exited with code 255.
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27
Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in /in/DMZ0t:9 Stack trace: #0 /in/DMZ0t(9): implode(Array, '.') #1 /in/DMZ0t(16): capitalize_after_periods('I am a string w...', Array) #2 {main} thrown in /in/DMZ0t on line 9
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in /in/DMZ0t on line 9 Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in /in/DMZ0t on line 9 string(56) "I am a string with several periods.Period #1. Period #2."
Output for 5.6.38, 7.1.0 - 7.1.24, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33
string(56) "I am a string with several periods.Period #1. Period #2."

preferences:
155.15 ms | 411 KiB | 5 Q