07. marts 2007 - 14:55
Der er
8 kommentarer og 1 løsning
While og switch
$max = 5; $i = 0; settype($avg_deltagerbrev_kar, float); settype($min_deltagerbrev_kar, float); settype($max_deltagerbrev_kar, float); settype($i, float); settype($max, float); while($i <= $max) { switch($i) { case $i == $min_deltagerbrev_kar: echo "<img src=\"black.gif\">"; echo $min_deltagerbrev_kar; break; default: echo "<img src=\"green.gif\">"; break; } $i = $i + 0.01; } Jeg har ovenstående kode..... min_deltagerbrev_kar = 2; og sat til float. Men hvorfor får den lov til at smutte igennem min switch som det første og ikke først når den har talt til 2?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
07. marts 2007 - 15:56
#1
Syntaksen er: switch ( $i ) { case $min_deltagerbrev_kar: echo "<img src=\"black.gif\">"; echo $min_deltagerbrev_kar; break; default: echo "<img src=\"green.gif\">"; break; }
07. marts 2007 - 16:12
#2
Hmm.... syntes helt bestemt engang at have læst at man kunne lave en case $i < $i: gør det! osv. While løkken kører bare switchløkken indtil den har talt til 5
07. marts 2007 - 16:15
#3
<ole> Mon ikke, du mener noget à la: while($i <= $max) { switch(true) { case $i == $min_deltagerbrev_kar: echo "<img src=\"black.gif\">"; echo $min_deltagerbrev_kar; break; default: echo "<img src=\"green.gif\">"; break; } $i = $i + 0.01; } /mvh </bole>
07. marts 2007 - 16:17
#4
Mnæeh, switch tager en variabel eller expression, case er så hvad den skal sammenligne med (lig eller ikke lig) - Jeg tror ikke jeg lige forstår hvad du vil :)
07. marts 2007 - 16:19
#5
Hmm jo, en case kan jo godt være en expression der evaluerer til en simpel type - ved ikke lige hvad jeg tænkte på :P
07. marts 2007 - 16:27
#6
Hmm.... olebole>> Den vil ikke rigtigt skrive en sort streng ud når $i == $deltagerbrev_kar ==> 2 == 2 Hmm... Og der er data i den var
07. marts 2007 - 16:45
#7
Hmmm ... sidder ikke lige med en Apache kørende, så jeg kan desværre ikke teste, hvorfor :o|
07. marts 2007 - 17:55
#8
Nu har jeg prøvet at lave noget basic på den: min = 2 avg = 2.67 max = 3 $min = $min_deltagerbrev_kar; $avg = $avg_deltagerbrev_kar; $max = $max_deltagerbrev_kar; while($i <= $m) { if($i == 0) { echo $i . "<img src=\"black.gif\">"; } elseif($i < $min) { echo "<img src=\"green.gif\">"; } elseif($i == $min) { echo "<img src=\"black.gif\">"; } $i = $i+ 0.01; } Kan det være noget med taltypen at gøre? Prøvede med 3 heltal og så virker det......forstår ikke helt!!
01. november 2007 - 00:20
#9
Virker stadig ikke, lukker
Vi tilbyder markedets bedste kurser inden for webudvikling