PHP Array Exercises : Generate an array with a range taken from a 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:
PHP Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a PHP script to sort an array in reverse order (highest to lowest).
Next: Write a PHP program to create a letter range with arbitrary length.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics