3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = '1, 4, 7, 20-25, 31, 46, 100'; $entries = array_map( 'trim', str_getcsv( $input)); $result = array(); foreach( $entries as $entry) { if( strpos( $entry, '-') !== false) { list( $start, $end) = explode( '-', $entry); $result = array_merge( $result, range( $start, $end)); } else { $result[] = $entry; } } print_r( $result); echo implode( ', ', $result);

preferences:
40.4 ms | 402 KiB | 5 Q