After
Haris' mention of the PHP function
range(), I thought the kindest thing to do would be to give it a proper introduction. So here is that introduction!
Range is native PHP function that takes 2 compulsory arguments and 1 optional argument
(As of PHP 5.0.0 which defaults to 1) and returns an array. Seem ever so simple? Well it is! The 3 arguments the function can accept are as follows:
- $low: The number or character to begin at.
- $high: The number or character to end at.
- $step: The amount to count up or down in.
Take the example below which will begin at 0, increment in steps of 10 until we get to 50.
PHP Code:
foreach(range(0, 50, 10) as $iNumber)
{
echo $iNumber . ' ';
}
This would result in
0 10 20 30 40 50 being returned. If you were to assign the result of the
range() into an array then all you would see is a nicely constructed array:
Code:
Array
(
[0] => 0
[1] => 10
[2] => 20
[3] => 30
[4] => 40
[5] => 50
)
The great thing about this function is that it can also count up or down in
characters. For instance, if we wanted to list the 6 characters from A to F, then we could do that quite easily with
range():
PHP Code:
$aArray = range('A', 'F');
echo implode(', ', $aArray);
Which would output
A, B, C, D, E, F. Range can also go backwards, which can be a whole lot of fun. Not quite as exciting as a rollercoaster going backwards but I hope you appreciate me trying to liven the article up!
PHP Code:
$aArray = range(100, 0, 25);
echo implode(', ', $aArray);
As I'm sure you can surmise, the above example would give us
100, 75, 50, 25, 0!
There is not a lot more to it. Such an easy function but one that is perhaps not as well heard of as it should be. I can't say that I've really needed this function before, however, perhaps there might be an occasion where you would require its presence! I'd be interested to know if anyone out there has any
really good uses for it? I've seen some good uses on
php.net for such tasks as checking if an array is associative - but any more would be great to hear!