w3resource

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:

Flowchart: PHP - Generate an array with a range taken from a string

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.



Follow us on Facebook and Twitter for latest update.