ID: 16843
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Bogus
Bug Type: Variables related
Operating System: Red Hat Linux
PHP Version: 4.2.0
New Comment:
Alright, I understand what you are all saying. I'm sorry if my most
recent comment sounded rude - I was annoyed that [EMAIL PROTECTED]
thought I would be foolish enough to ask a support question here. I
genuinely thought this was a bug. One question that's still at the back
of my mind is, why does it work for everything else, except when it's
being compared to 0?
Previous Comments:
------------------------------------------------------------------------
[2002-04-26 03:34:53] [EMAIL PROTECTED]
Your code is bogus, this is correct:
$filled = 0;
switch ($filled) {
case 0: echo "filled equals zero";
break;
}
Who told you you can use case $filled == 0: ? It's simply not ok.
------------------------------------------------------------------------
[2002-04-26 03:32:38] [EMAIL PROTECTED]
What makes you think you can put expressions in a case statement? You
can't. No bug here.
------------------------------------------------------------------------
[2002-04-26 03:29:17] [EMAIL PROTECTED]
Perhaps you misunderstood my report - what I posted SHOULD echo "filled
equals zerofilled equals zero also" but it doesn't.
Another example below:
$filled = 0;
switch($filled){
case $filled == 0:
echo "filled equals 0"
break;
}
$filled = 100;
switch($filled){
case $filled == 100:
echo "filled equals 100"
break;
}
When that is executed, it returns "filled equals 100". It SHOULD have
returned "filled equals 0filled equals 100" but it doesn't - the only
explanation is a bug in the switch code. This is not a bogus bug
report.
------------------------------------------------------------------------
[2002-04-26 03:18:11] [EMAIL PROTECTED]
The bug system is not the appropriate forum for asking support
questions. For a list of a range of more appropriate places to ask
for help using PHP, please visit http://www.php.net/support.php
------------------------------------------------------------------------
[2002-04-26 02:42:05] [EMAIL PROTECTED]
The following lines of code produce this:
"filled equals zero"
$filled = 0;
if($filled == 0){
echo "filled equals zero";
}
switch($filled){
case $filled == 0:
echo "filled equals zero also"
break;
}
As far as I can tell, there is no reason why that case isn't satisfied
- $filled DOES equal 0, as the if statement proves, yet "filled equals
zero also" never appears on the page. However, replacing "case $filled
== 0:" with "case 0:" does work. This can only be a bug.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16843&edit=1