Switch neemt verkeerde case ?
- Roland -
09/01/2015 12:15:04Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$be='error';
switch ($be){
case 0 : echo' 0 case'. $be;
break;
case 'error' : echo' error case '.$be;
break;
}
switch ($be){
case 0 : echo' 0 case'. $be;
break;
case 'error' : echo' error case '.$be;
break;
}
=> 0 case error
Dit snap ik niet, lijkt me niet logisch !!?
Gewijzigd op 09/01/2015 12:15:48 door - Roland -
PHP hulp
05/11/2024 15:52:25Jan de Laet
09/01/2015 12:27:59Je probleem zit volgens mij in het feit dat je verschillende types van data gebruikt in je case, 0 = numeriek en 'error' is alfa-numeriek.
Ik geloof dat je het oplost door case (string) 0 : te gebruiken op regel 4.
Ik geloof dat je het oplost door case (string) 0 : te gebruiken op regel 4.
Frank Nietbelangrijk
09/01/2015 12:31:05- Roland -
09/01/2015 12:38:53ja, dat klopt... , maar ik vind het niet logisch
doet switch niet eigenlijk
if ($be==0) ......
if ($be=='error') ......
als je zo 'denkt' mag hij niet $be==0 kiezen !!!! Hoe 'denkt'switch ?
ps. type controleren doet php toch niet (niet uit zich zelf)
$be='error';
switch ($be){
case 0 : echo' 0 case'. $be;
break;
case 'error' : echo' error case '.$be;
break;
}
doet switch niet eigenlijk
if ($be==0) ......
if ($be=='error') ......
als je zo 'denkt' mag hij niet $be==0 kiezen !!!! Hoe 'denkt'switch ?
ps. type controleren doet php toch niet (niet uit zich zelf)
$be='error';
switch ($be){
case 0 : echo' 0 case'. $be;
break;
case 'error' : echo' error case '.$be;
break;
}
Jan de Laet
09/01/2015 12:47:03Lees dit eens:
http://php.net/manual/en/language.types.string.php#language.types.string.conversion
(3e alinea)
Jouw 'error' wordt omgezet naar waarde nul voor de vergelijking
http://php.net/manual/en/language.types.string.php#language.types.string.conversion
(3e alinea)
Jouw 'error' wordt omgezet naar waarde nul voor de vergelijking
Gewijzigd op 09/01/2015 12:47:52 door Jan de Laet