Re: Ranges for case statement and a WTF moment.
| From: | Shawn McKenzie | Date: | Wed, 06 Apr 2011 19:46:49 +0000 |
| Subject: | Re: Ranges for case statement and a WTF moment. | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-312286@lists.php.net to get a copy of this message | ||
On 04/05/2011 10:28 AM, Richard Quadling wrote:
> Hi.
>
> I just wanted to quickly see if PHP supported ranges in its
> switch/case statement (http://en.wikipedia.org/wiki/Ellipsis)
>
> <?php
> $s = intval(date('s'));
> switch($s)
> {
> case 0...9 : echo 'Between 0 and 9'; break;
> case 10...19 : echo 'Between 10 and 19'; break;
> case 20...29 : echo 'Between 20 and 29'; break;
> case 30...39 : echo 'Between 30 and 39'; break;
> case 40...49 : echo 'Between 40 and 49'; break;
> case 50...59 : echo 'Between 50 and 59'; break;
> default : echo 'Unknown : ', $s;
> }
> ?>
>
> Completely unexpectedly, the above code runs but produces the wrong output.
FYI. My first inclination would have been:
switch(true) {
case in_array($s, range(0, 9)): echo "0 - 9"; break;
}
But it's messy.
--
Thanks!
-Shawn
http://www.spidean.com