Hopsel: switch mit preg_match

Beitrag lesen

Hi henman!

Dein Code ist völlig vermurkst. So wäre es wohl in deinem Sinne:

$var1 = 'checkbox(firma_messegrund5)input';  
$var2 = 'radio(firma_messegrund5)input';  
  
switch(true)  
{  
  case preg_match('/checkbox\((.*)\)input/',$var2):  
    echo'Checkbox gefunden';  
  break;  
  
  case preg_match('/radio\((.*)\)input/',$var2):  
    echo'Radio gefunden';  
  break;  
}

Ergebnis: Checkbox gefunden
?? Warum matcht er genau das Falsche? ich habe dann mal $var1 in den switch genommen (auch in preg_match() geändert) und er findet wieder das falsche.

Du hättest in den Switch-Kopf jeden beliebigen String stecken können und wärst immer wieder zum gleichen Ergebnis gekommen. preg_match('/checkbox\((.*)\)input/',$var2) gibt 0 zurück. Der Vergleich von 0 mit $var2 ergibt true. Also wird "Checkbox gefunden" ausgegeben und anschließen mit break das Switch-Statement verlassen.

Vielleicht solltest du dir nochmal die Wirkungsweise von switch anschauen.

MfG H☼psel

--
"It's amazing I won. I was running against peace, prosperity, and incumbency."
George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)