RE: [PHP] if/elseif being treated as if/if
| From: | tedd | Date: | Sat, 25 Sep 2010 15:00:48 +0000 |
| Subject: | RE: [PHP] if/elseif being treated as if/if | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-308311@lists.php.net to get a copy of this message | ||
At 3:54 PM -0400 9/24/10, Bob McConnell wrote:
From: teddI take it seriously. In fact, I think it's a very good method of making several different comparisons in one control structure. For me, it is easy to understand, document, and maintain. Obviously, your mileage varies. But besides the point, all I was showing was that your claim --At 2:23 PM -0400 9/24/10, Bob McConnell wrote:IfA switch works when a single test can dispatch all possible branches.you have a series of tests where each looks for a different subset of conditions, you need an elseif.Not so, O'wise one. This will work: switch(1)That is just so wrong, it can't actually be taken seriously. There is simply no justification for such broken logic. Bob McConnell{ case $a > $b: /* whatever break;case $c == 1: /* whatever break;case $d == 'this works': /* whatever break; }Granted, it's not the normal way a switch works in some other languages, but it does work in PHP. :-)
A switch works when a single test can dispatch all possible branches. If you have a series of tests where each looks for a different subset of conditions, you need an elseif.-- was false. I don't need an elseif and never have. There has always been a way around using an elseif. The powers that be could boot that control and I would never miss it. Cheers, tedd -- ------- http://sperling.com/