note 52644 added to function.range
| From: | derek@php.net | Date: | Sun, 08 May 2005 13:13:48 +0000 |
| Subject: | note 52644 added to function.range | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-89116@lists.php.net to get a copy of this message | ||
This should emulate range() a little better.
<?php
function range_wroar($low, $high, $step = 1) {
$arr = array();
$step = (abs($step)>0)?abs($step):1;
$sign = ($low<=$high)?1:-1;
if(is_numeric($low) && is_numeric($high)) {
//numeric sequence
for ($i = $low; $i*$sign <= $high*$sign; $i += $step*$sign)
$arr[] = $i;
} else {
//character sequence
if (is_numeric($low))
return $this->range($low, 0, $step);
if (is_numeric($high))
return $this->range(0, $high, $step);
$low = ord($low);
$high = ord($high);
for ($i = $low; $i*$sign <= $high*$sign; $i += $step*$sign) {
$arr[] = chr($i);
}
}
return $arr;
}
?>
----
Manual Page -- http://www.php.net/manual/en/function.range.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+52644
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+52644&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+52644&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+52644&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+52644&report=yes&reason=useless
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+52644&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+52644&report=yes
Search -- http://master.php.net/manage/user-notes.php