22. januar 2007 - 20:29
Der er
11 kommentarer og 1 løsning
array der udfyldes fra tal 1 til tal 2
jeg skal bruge et array der har tallene: Fra "$tal1" til og med "$tal2" OG Fra "$tal3" til og med "$tal4" OG Fra "$tal5" til og med "$tal6" OG Fra "$tal7" til og med "$tal8" HOW
Annonceindlæg fra Deloitte
22. januar 2007 - 20:31
#1
lave 4 løkker der kører fra $tal1 til $tal2 og smider de tal ind i array, og derefter løkke der kører fra $tal2 til $tal 3 og smider dem ind. og så videre. Eller noget helt andet du mener?
22. januar 2007 - 20:32
#2
nope... det er lige praecist det... gider du at skrive koden? PLEASE ;-)
22. januar 2007 - 20:34
#3
hov, skal lige sige at hvis et af tallene er nul, skal funktionen stoppes, og array skal kun have de tal der er indtil da... altsaa. Hvis "$tal5" er nul, er det kun "$tal1" til "$tal2" OG "$tal3" til "$tal4" der skal vaere i arrayet
22. januar 2007 - 20:40
#4
$array=array(); $startnum = 0; for($i=$tal1; $i<$tal2; $i++) { if($tal1 == 0 || $tal2 == 0) break; $array[startnum] = $i; $startnum++; } for($i=$tal3; $i<$tal4; $i++) { if($tal1 == 0 || $tal2 == 0) break; $array[startnum] = $i; $startnum++; } for($i=$tal5; $i<$tal6; $i++) { if($tal1 == 0 || $tal2 == 0) break; $array[startnum] = $i; $startnum++; } for($i=$tal7; $i<$tal8; $i++) { if($tal1 == 0 || $tal2 == 0) break; $array[startnum] = $i; $startnum++; } slet ikke testet.. men noget ala det vil jeg tro
22. januar 2007 - 20:41
#5
ehm.. fik ikke lige rettet de IF sætninger til. de skal selvfølgelig lige ændres til de rigtige $tal variabler
22. januar 2007 - 20:47
#6
og hvordan er det saa lige jeg ser de vaerdier jeg faar i arrayet?
22. januar 2007 - 20:49
#7
du kan f.eks for($i = 0; $i < sizeof($array); $i++) { echo $array[$i] . "<br>"; }
22. januar 2007 - 20:52
#8
$resultat = array(); $resultat = array_merge( $resultat, range( $tal1, $tal2 ) ); $resultat = array_merge( $resultat, range( $tal3, $tal4 ) ); $resultat = array_merge( $resultat, range( $tal5, $tal6 ) ); $resultat = array_merge( $resultat, range( $tal7, $tal8 ) ); osv?
22. januar 2007 - 20:54
#9
Var det ikke en ide også at gemme tallene i et array? Altså i stedet for at smide værdierne i $tal1, $tal2, $tal3 osv. Det vil give en meget mere dynamisk kode, hvis nu der f.eks. skulle komme flere tal ($tal9 og $tal10 i dit eksempel). Altså så værdien af $talarray[0][0] er $tal1 og $talarray[0][1] er $tal2 og $talarray[1][0] er $tal3 og $talarray[1][1] er $tal4 .. osv. Det vil også give en simplere kode.
22. januar 2007 - 20:56
#10
Eller måske: $talarray = array( array( 1, 5 ), array( 9, 14 ), array( 21, 33 ) ); $resultat = array(); foreach( $talarray as $tal ) { list( $fra, $til ) = $tal; $resultat = array_merge( $resultat, range( $fra, $til ) ); } Så er indeholder $talarray et array af arrays af fra og til...
22. januar 2007 - 21:04
#11
--> coderdk... bedste losning. smid et svar ;-)
22. januar 2007 - 21:10
#12
Aight :)
Vi tilbyder markedets bedste kurser inden for webudvikling