PHP Array Exercises : Generate an array with a range taken from a string
29. Array Range from String
Write a PHP program to generate an array with a range taken from a string.
Sample Solution:
PHP Code:
<?php
// Define a function called string_range that takes a string as input
function string_range($str1)
{
// Use a regular expression to match number ranges in the input string
preg_match_all("/([0-9]{1,2})-?([0-9]{0,2}) ?,?;?/", $str1, $a);
// Initialize an empty array to store the numeric range
$x = array ();
// Iterate through the matched ranges and merge them into a single array
foreach ($a[1] as $k => $v)
{
// Merge the current range into the result array using the range function
$x = array_merge ($x, range ($v, (empty($a[2][$k])?$v:$a[2][$k])));
}
// Return the final array representing the numeric range
return ($x);
}
// Test the function with a sample string and print the result
$test_string = '1-2 18-20 9-11';
print_r(string_range($test_string));
?>
Output:
Array ( [0] => 1 [1] => 2 [2] => 18 [3] => 19 [4] => 20 [5] => 9 [6] => 10 [7] => 11 )
Flowchart:

For more Practice: Solve these Related Problems:
- Write a PHP script to extract a numerical range from a string and convert it into an array of integers.
- Write a PHP function to parse a string containing a start and end value separated by a delimiter and then generate the full range as an array.
- Write a PHP program to validate a string as a number range and then output the corresponding sequence in an array.
- Write a PHP script to read a string of comma-separated values representing a range and return an array of numbers within that range.
Go to:
PREV : Reverse Sort Array.
NEXT :Create Letter Range with Arbitrary Length.
PHP Code Editor:
Contribute your code and comments through Disqus.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.