kurze , einfache frage:
wie lösche ich den inhalt eines arrays komplett?
array soll bleiben und danach wieder neubefüllt werden!
User since
2003-08-06
2246
Artikel
ModeratorIn
@array = (); # Sollte das Array jedoch
nicht bestehen bleiben,
undef @array;
User since
2003-08-04
2036
Artikel
BenutzerIn
Gruss
Edit: Relias hats ja schon gepostet - nicht gesehen\n\n
<!--EDIT|havi|1068646826-->
User since
2003-08-04
5246
Artikel
ModeratorIn
eine weitere moeglichkeit waere, den letzten Index auf -1 zu setzen:
$#array = -1;
User since
2003-08-06
2246
Artikel
ModeratorIn
[quote=havi,12.11.2003, 15:19]
Edit: Relias hats ja schon gepostet - nicht gesehen[/quote]
Die Schreibweise war mir noch nicht begegnet 8)
User since
2003-08-04
5246
Artikel
ModeratorIn
die redimensionierung ueber den index ist manchmal ganz nuetzlich (ok, vielleicht nicht gerade beim loeschen), vor allem, wenn man listen mit sehr vielen Elementen anlegt. Dann kann man, bevor man sie mit Daten fuellt, schon vordimensionieren (z.B. $#array = 1_000_000;), und kann somit gleich den ganzen block speicher anfordern, was erstens die ausfuehrungsgeschwindigkeit erhoehen kann und zweitens der speicherfragmentierung recht gut entgegenwirkt...denn wenn man das array nach und nach vergroessert, indem man es mit daten fuellt, muss da haeufig im speicher umkopiert werden...\n\n
<!--EDIT|Strat|1068678277-->
User since
2003-08-04
2036
Artikel
BenutzerIn
[quote=Relais,12.11.2003, 21:49][quote=havi,12.11.2003, 15:19]
Edit: Relias hats ja schon gepostet - nicht gesehen[/quote]
Die Schreibweise war mir noch nicht begegnet 8)[/quote]
Sorry, ich meinte natuerlich
Relais :)
Gruss
User since
2003-08-04
7321
Artikel
ModeratorIn
[quote=Strat,13.11.2003, 00:03]die redimensionierung ueber den index ist manchmal ganz nuetzlich (ok, vielleicht nicht gerade beim loeschen), vor allem, wenn man listen mit sehr vielen Elementen anlegt. Dann kann man, bevor man sie mit Daten fuellt, schon vordimensionieren (z.B. $#array = 1_000_000;), und kann somit gleich den ganzen block speicher anfordern, was erstens die ausfuehrungsgeschwindigkeit erhoehen kann und zweitens der speicherfragmentierung recht gut entgegenwirkt...denn wenn man das array nach und nach vergroessert, indem man es mit daten fuellt, muss da haeufig im speicher umkopiert werden...[/quote]
okay...
es legt die indexe an, aber der wirklich speicher, nämlich der der daten, wird wohl erst beim füllen alloziiert, oder nicht?