However, I can assure you that from day 1 this was not supposed to work and was documented as such for years already (since the days of PHP 3). If it worked at some point then it was by chance!
Andi
At 05:31 PM 10/8/2004 +0200, Sascha Schumann wrote:
Andi,
from the feedback it is obvious that the engine supported defaults at places other than the bottom.
In all switch-supporting languages I know, it is possible to do this:
switch ($expr) { default:
/* handle everything EXCEPT "foo" and "bar" */
/* fall-through */
case 'foo': case 'bar':
/* handle everything */ break; }
Why should the support of this be discontinued?
- Sascha
On Thu, 7 Oct 2004, Andi Gutmans wrote:
It's always been like that and has been documented for ages in the manual.
Andi
At 08:24 PM 10/7/2004 -0700, Frank M. Kromann wrote:Hello Everyone, I just discovered a small thing in the switch() statement. The position of the default: clause has to be at the end of the code: $a = 1; switch ($a) { default : case 0 : $b = 1; break; case 1 : $b = 2; break; } echo $b; // should print 2 but it prints 1 $a = 1; switch ($a) { case 1 : $b = 2; break; default : case 0 : $b = 1; break; } echo $b; // prints 2 as expected. This is tested on Linux with PHP5 CVS-HEAD What changed ? - Frank
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php