Nowhere in the documentation does it specify switch should be used in the
context you are attempting.

The docs show a single variable and checking the case of that variable.

I'm not going to berate you on syntax. If you can get it working like that
then good for you. However, I would strongly advise you to use the
if/elseif/else statements instead.

an example of switch

$action = $_POST['action']
switch ($action)
{
    case 'help': showHelp(); break;
    default : showDefault();
}

not

$action = $_POST['action']
switch (true)
{
    case ($action == 'help'): showHelp(); break;
    default : showDefault();
}


> -----Original Message-----
> From: Beauford.2002 [mailto:[EMAIL PROTECTED]]
> Sent: Friday, 20 December 2002 12:46 PM
> To: Rick Emery
> Cc: PHP General
> Subject: Re: [PHP] Another problem with conditional statements
>
>
> I believe you are incorrect. Switch will look for the first case statement
> that is true and execute that statement. The following works - case one is
> incorrect so it doesn't get executed but the second case does. Paste this
> into a test.php file and you will see it works.. Read the manual.
>
> $a=2;
> $b=4;
>
> switch (true) {
>     case ($a < $b) and ($b > 5):
>         echo "Incorrect";
>     case ($a == 2):
>         echo "Correct";
>  }
>
> So my original question is still stands. The switch statement is correct,
> but there is a problem with my conditional statements.
>
> ----- Original Message -----
> From: "Rick Emery" <[EMAIL PROTECTED]>
> To: "Beauford.2002" <[EMAIL PROTECTED]>; "PHP General"
> <[EMAIL PROTECTED]>
> Sent: Thursday, December 19, 2002 7:33 PM
> Subject: Re: [PHP] Another problem with conditional statements
>
>
> > switch() does not work that way.  Switch uses the value in the
> parentheses
> and selects a
> > CASE based upon that value.  Read the manual.
> >
> > You will have to use a series of if()-elseif()-else()
> > ----- Original Message -----
> > From: "Beauford.2002" <[EMAIL PROTECTED]>
> > To: "PHP General" <[EMAIL PROTECTED]>
> > Sent: Thursday, December 19, 2002 6:19 PM
> > Subject: [PHP] Another problem with conditional statements
> >
> >
> > Hi,
> >
> > This should be as simple as breathing, but not today. I have
> two variables
> > $a and $b which I need to compare in a switch statement in several
> different
> > ways, but no matter what I do it's wrong.
> >
> > This is what I have tried, can someone tell me how it should be.
> >
> > TIA
> >
> > switch (true):
> >
> >     case ($a == $b):             This one seems simple enough.
> >             do sum stuff;
> >             break;
> >
> >     case ($a && $b == 124):   This appears not to work.
> >             do sum stuff;
> >             break;
> >
> >     case ($a == 124 && $b == 755):  If $a is equal to 124 and
> $b is equal
> to
> > 755 then it should be true..doesn't work.
> >             do sum stuff;
> >             break;
> >
> >     case ($a == 124 && $b != 124):   Nope, this doesn't appear to work
> > either.
> >             do sum stuff;
> >             break;
> >
> > endswitch;
> >
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to