3v4l.org

run code in 300+ PHP versions simultaneously
<?php define( 'PAIRS', [ [ 'mon,tue', 'tue,wed', 'wed,thu', 'thu,fri', 'fri,sat', 'sat,sun' ], [ 'mon-tue', 'tue-wed', 'wed-thu', 'thu-fri', 'fri-sat', 'sat-sun' ] ] ); function condenseDays(string $days): string { return preg_replace( '/-\K[^,]+-/', '', str_replace(PAIRS[0], PAIRS[1], $days) ); } echo condenseDays('mon,tue,wed,thu,fri,sat') . "\n"; echo condenseDays('tue,thu,fri,sun') . "\n"; echo condenseDays('mon,tue,wed,fri,sat,sun') . "\n"; echo condenseDays('mon,thu,sun') . "\n"; echo condenseDays('tue,wed,fri,sat') . "\n"; echo condenseDays('mon,wed,fri,sun') . "\n"; echo condenseDays('mon,tue,thu,fri,sat,sun');
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
mon-sat tue,thu-fri,sun mon-wed,fri-sun mon,thu,sun tue-wed,fri-sat mon,wed,fri,sun mon-tue,thu-sun

preferences:
101.42 ms | 407 KiB | 5 Q