Re: switch() and default:

From: Date: Fri, 08 Oct 2004 15:31:16 +0000
Subject: Re: switch() and default:
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-13234@lists.php.net to get a copy of this message
    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


« previous php.internals (#13234) next »