3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = '3,5,6,9,11,23,14-42'; $result = json_decode('['. preg_replace_callback('/(\d+)-(\d+)/', function($m) { return implode(',', range($m[1], $m[2])); }, $input) .']'); var_dump($result);

preferences:
29.51 ms | 408 KiB | 5 Q