Hey,
We have banned this "spam2" user from internals, but he's still being an
ass on the bug system. Should I have a look at whether we can get him
out of there as well?
cheers,
Derick
--
https://derickrethans.nl | https://xdebug.org | https://dram.io
Like Xdebug? Consider a donation: https://xdebug.org/donate.php,
or become my Patron: https://www.patreon.com/derickr
twitter: @derickr and @xdebug
---------- Forwarded message ----------
Date: Thu, 04 Apr 2019 14:37:14 +0000
From: spam2 at rhsoft dot net php-bugs@lists.php.net
To: php-bugs@lists.php.net
X-Bogosity: No, tests=bogofilter, spamicity=0.000000, version=1.2.4
Subject: Bug #77845 [Com]: Error in the comparaison
Edit report at https://bugs.php.net/bug.php?id=77845&edit=1
ID: 77845
Comment by: spam2 at rhsoft dot net
Reported by: baklouti dot med at gmail dot com
Summary: Error in the comparaison
Status: Not a bug
Type: Bug
Package: *Compile Issues
Operating System: ubuntu 18.04
PHP Version: 7.2.16
Block user comment: N
Private report: N
New Comment:
hell post the code you are actually using instead f**g decriptions ike " am not using the two cases in the same time" - switch works, full stop, echo what $id contains really at that moment
Previous Comments:
[2019-04-04 14:34:18] baklouti dot med at gmail dot com
Yes, I try it with "case 0:" , and the same issue is happening.
[2019-04-04 11:21:37] kalle@php.net
Because ($id === 0)
is evaluated as an expression before, meaning that essentially the case
statement now looks like case 1:
. The correct way to do that which you are trying to would be to make your case statement simply look like case 0:
.
Please refer to the documentation int the future:
https://www.php.net/manual/en/control-structures.switch.php
[2019-04-04 11:10:25] baklouti dot med at gmail dot com
Description:
I am testing the value of $id to do some processing. I retrieve the variable $id from an array ($test) and converted to integer, for the case that $id = 0 when using "switch" it can't be detected and if I used the "if" it is working fine.
I tried with the "==" and the "===" and also not working with "switch".
I am not using the two cases in the same time, i tested the "if" and "switch"
separately.
$id = (integer)$test['id'];
if ($id === 0 ) {return 1;}
switch ($id) {
case ($id === 0):
return 2;
....
Expected result:
The expected result is the bloc inside the case ($id ===0) is processed.
Actual result:
The actual result that it is passed for another case.
--
Edit this bug report at https://bugs.php.net/bug.php?id=77845&edit=1