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



Reply via email to