Hello,
"Matt" <[EMAIL PROTECTED]> wrote:
> I think what's happening here is a type issue. The comparison is returning
a
> boolean, so when $c != '0', the switch is true and the case is resolving
to
> true, and executing. But when $c == '0', with switch is (false), but the
> case is true. Change the case to
> ($c > chr(58) and $c < chr(58)):
> pass in '09090' and see what you get. Perhaps the case isn't the right
> structure for this test.
I think you're in the right track.
Running these would produce different results:
---------- script 1 ----------
$s = '0';
switch ($s){
case ($s > chr(47) && $s < chr(58)):
echo 'Yehey!';
break;
default:
echo 'Boo!';
}
---------- script 2 ----------
$s = 0;
switch ($s){
case ($s > chr(47) && $s < chr(58)):
echo 'Yehey!';
break;
default:
echo 'Boo!';
}
BTW, there's no problem if you use "if...else" clause...
- E
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php