w3resource

PHP Array Exercises : Generate an array with a range taken from a string

PHP Array: Exercise-29 with Solution

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

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.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/php-exercises/php-array-exercise-29.php