Arrays (uitgebreid)
1. Inleiding
2. Multidimensionele Arrays
3. Array grootte uitbreiden
4. Array met loops vullen en leeghalen
5. Handig om te weten
top
1. Inleiding
Deze tutorial zal een aanvulling zijn op die over arrays in ASP.
Ik zal dieper in gaan op de mogelijkheden die je hebt met arrays (multidimensionele arrays, arrays uitbreiden, arrays leeghalen).
top
2. Multidimensionele Arrays
Een multidimensionele array is een array met meerdere 'dieptes'.
Je zet eigenlijk een array in een andere array.
Dit zorgt ervoor dat deze array 2 dimenties heeft (hoogte en breedte bij wijze van spreken).
Je zou zelfs nog een derde array (of een vierde, vijfde,...) element kunnen toevoegen (de diepte bij wijze van spreken).
Dit voorbeeldje toont aan hoe je een multidimensionele array maakt.
<%
Dim mensen(3)
Dim reis(1)
mensen(0) = "Koen"
mensen(1) = "Frederik"
mensen(2) = "Joris"
mensen(3) = "Jim"
reis(0) = "Calella"
reis(1) = mensen
Response.Write "De mensen met de bestemming " & reis(0) & " zijn:<br />"
Response.Write reis(1)(0) & "<br />"
Response.Write reis(1)(1) & "<br />"
Response.Write reis(1)(2) & "<br />"
Response.Write reis(1)(3) & "<br />"
%>
|
Bij de eerste 2 stappen declareer ik de arrays die ik ga nodig hebben.
Vervolgens ga ik gegevens in de arrays steken. Om array 'mensen' aan array 'reis' toe te voegen ken ik de waarde van array 'mensen' toe aan die van de 2e index van array 'reis'.
Ik kan deze gegevens bereiken door de twee indexen na elkaar te schrijven ((1)(3) bv.).
Als laatste nog weergeven, dit zal als output hebben.
De mensen met de bestemming Calella zijn:
Koen
Frederik
Joris
Jim
|
top
3. Array grootte uitbreiden
Stel ik ben bezig met een script en ik steek al mijn gegevens in een array.
Ik weet niet zeker hoeveel gegevens ik ga hebben, daarom maak ik een uitrekbare array.
Via het keyword 'ReDim' kan ik dan in mijn script de array zoveel keer vergroten als ik wil.
<%
Dim gegevens() 'Deze array kunnen we vergroten
ReDim gegevens(5)
gegevens(0) = "Eerste gegeven"
gegevens(1) = "Tweede gegeven"
gegevens(2) = "Derde gegeven"
gegevens(3) = "Vierde gegeven"
gegevens(4) = "Vijfde gegeven"
gegevens(5) = "Zesde gegeven"
'maximale grootte hier bereikt... ==> uitbreiden
ReDim Preserve gegevens(7)
gegevens(6) = "Zevende gegeven"
gegevens(7) = "Achtste gegeven"
%>
|
Ik gebruik het woord Preserve. Als ik deze weglaat wordt de volledige array gereset, nu worden de oude gegevens onthouden.
Je zou nu via loops constant gegevens kunnen bijvullen en de maximale index vergroten.
Hierover gaat het volgende deel.
top
4. Array met loops vullen en leeghalen
Ik ga voor het illustreren van deze 'techniek' een voorbeeldje geven.
Dit voorbeeld slaat nergens op maar zal wel duidelijk maken wanneer je het zou kunnen gebruiken.
<%
Dim gegevens() 'Deze array kunnen we vergroten
Dim aantalKeer 'een variabele die het aantal keer bevat dat we het willen herhalen
Dim i 'variabele die wordt gebruikt in de loop
i = 0
aantalKeer = 10 'Je kan dit bv ook door de gebruiker laten bepalen
ReDim gegevens(0) 'een gegeven om te beginnen
Do Until i = aantalKeer 'zolang dat i verschillend is van aantalKeer (10 in ons geval) blijft het zich herhalen
gegevens(i) = i*i
i = i + 1
ReDim Preserve gegevens(i)
Loop 'einde van de loop
i = 0 'i resetten
Do Until i = aantalKeer 'nu gaan we alles leeghalen
Response.Write gegevens(i) & "<br />"
i = i + 1
Loop
%>
|
top
5. Handig om te weten
Op het moment weet ik maar 1 iets dat handig is om te weten. Als ik er meer vind zal ik dit lijstje aanvullen. Je kan me ook altijd PM'en met handige dingetjes (en dan zal ik zeker je naam vermelden!).
De maximale grootte van een array bepalen.
<%
Dim rij(10)
Dim grootte
grootte = (UBound(rij) - LBound(rij)) + 1
Response.Write "De array kan maximaal zoveel elementen bevatten: " & grootte
%>
|
top
|