Switch neemt verkeerde case ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Roland -

- Roland -

09/01/2015 12:15:04
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;        
    }


=> 0 case error

Dit snap ik niet, lijkt me niet logisch !!?
Gewijzigd op 09/01/2015 12:15:48 door - Roland -
 
PHP hulp

PHP hulp

25/04/2024 17:20:58
 
Jan de Laet

Jan de Laet

09/01/2015 12:27:59
Quote Anchor link
Je 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.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/01/2015 12:31:05
Quote Anchor link
of case '0': te schrijven ..
 
- Roland -

- Roland -

09/01/2015 12:38:53
Quote Anchor link
ja, 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;
}
 
Jan de Laet

Jan de Laet

09/01/2015 12:47:03
Quote Anchor link
Lees 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
Gewijzigd op 09/01/2015 12:47:52 door Jan de Laet
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.