I was reminded tonight of the following 'feature' of switch:
$a = 0;
switch($a) {
case 'somestring': echo 'Bug?'; break;
case 0: echo 'Not a bug'; break;
}
This will echo 'Bug?' with PHP 4. It seems more logical to have switch
comparing with T_IS_IDENTICAL than with T_IS_EQUAL. Is this something that
might be changed as we move to PHP 5.0?
See also bug 21990.
http://bugs.php.net/lbugs.php?id=21990
I was reminded tonight of the following 'feature' of switch:
$a = 0;
switch($a) {
case 'somestring': echo 'Bug?'; break;
case 0: echo 'Not a bug'; break;
}This will echo 'Bug?' with PHP 4. It seems more logical to have switch
comparing withT_IS_IDENTICALthan with T_IS_EQUAL. Is this something that
might be changed as we move to PHP 5.0?
It's not a 'feature', it's a feature. It's not likely to change, dynamic
type conversion is one of the foundations of PHP.
Zeev
At 05:07 24/03/2003, Joey Smith wrote:
I was reminded tonight of the following 'feature' of switch:
$a = 0;
switch($a) {
case 'somestring': echo 'Bug?'; break;
case 0: echo 'Not a bug'; break;
}This will echo 'Bug?' with PHP 4. It seems more logical to have switch
comparing withT_IS_IDENTICALthan with T_IS_EQUAL. Is this something that
might be changed as we move to PHP 5.0?