25. december 2003 - 15:53
Der er
12 kommentarer og 1 løsning
Hvad er bedst/hurtigt
Hvad er bedst/hurtigt af disse koder: if($_GET[mode]){ if($_GET[mode] == 'mode1'){ echo "mode1"; } elseif($_GET[mode] == 'mode2'){ echo "mode2"; } else { echo "Vælg en mode!"; } else { echo "Vælg en mode!" } Eller: switch($mode) { case(mode1) : echo "mode1"; break; case(mode2) echo "mode2"; break; default: echo "Vælg en mode!"; } Hvad er bedst. ??
Annonceindlæg fra Barco
25. december 2003 - 15:55
#1
tror måske at switch er hurtigst, men prøv at læse
http://dk2.php.net/switch for der står bl.a. at det er det samme som en række if-statements
25. december 2003 - 15:58
#2
du kan jo lave dig en test med microtime før og efter dit script, og udskrive differencen...
25. december 2003 - 15:59
#3
ja men mit spg. er simpelt, er det mindre resourcekrævende at bruge switch en en række if statements ? Hvilket det jo må være :)
25. december 2003 - 16:02
#4
if($_GET[mode]){ if($_GET[mode] == 'mode1'){ echo "mode1"; } elseif($_GET[mode] == 'mode2'){ echo "mode2"; } else { echo "Vælg en mode!"; } else { echo "Vælg en mode!" } -------------------- DEN ---------------------------
25. december 2003 - 16:03
#5
Kan du så forklare hvorfor den er hurtigst ??
25. december 2003 - 16:09
#6
jeg tvivler entlig på det har nogen form for relevans hvad du bruger, med mindre du kører din webserver på en 80286 16Mhz eller lign. men som sagt lav dog en test af det function GetMicroTime(){ list($ms, $s) = explode(" ",microtime()); return ((float)$ms + (float)$s); } $start = GetMicroTime(); if($_GET[mode]){ if($_GET[mode] == 'mode1'){ echo "mode1"; } elseif($_GET[mode] == 'mode2'){ echo "mode2"; } else { echo "Vælg en mode!"; } else { echo "Vælg en mode!" } $stop = GetMicroTime(); $tid = $stop - $start; echo 'if sætninger tager '.$tid.' at udfører'; $start2 = GetMicroTime(); switch($mode) { case(mode1) : echo "mode1"; break; case(mode2) echo "mode2"; break; default: echo "Vælg en mode!"; } $stop2 = GetMicroTime(); $tid2 = $stop2 - $start2; echo 'Switch metoden tager '.$tid2.' at udfører';
25. december 2003 - 16:15
#7
bør så nok lige rette mig selv. echo 'if sætninger tager '; printf("%.4f", $tid); echo ' sekunder at udfører; jeg undskylder mange gange, men jeg er lige stået op oven på en våd aften :-)
25. december 2003 - 16:22
#8
Switch er hurtigst :) if: 0.000181078910828 swithc: 0.000173091888428 Men det er jo ikke meget :P
25. december 2003 - 16:23
#9
holybull: hey! ingen obskøniteter her, tak! ;)
25. december 2003 - 16:24
#10
nak-m> holybull påpeger bare at det regnede igår aftes ;-)
25. december 2003 - 16:31
#11
ztyxx ja, underlig entlig, det regnede i min stue :-(
25. december 2003 - 16:33
#12
og supreme-creme, som jeg sagde det har INGEN betydning hvilken kontrol-struktur du bruger, ihvertfald ikke (som det ligner) til at bestemme hvilken side der skal redirectes til
25. december 2003 - 17:22
#13
hmm, kun mig der ikke helt forstår hvorfor random_hero fik point? så vidt jeg kan se var hans indlæg da alt andet en konstruktiv, og vel dokumenteret/begrundet?
Vi tilbyder markedets bedste kurser inden for webudvikling