Seite 1 von 1

array komplett leeren

Verfasst: Do 30.Nov, 2006 11:26
von bce
wie kann man alle elemente eines arrays löschen?

es gibt keine bestimmten "lösche inhalt"-befehl..

was ist nun besser:

1. das array löschen mittels unset und dann das array wieder neu anlegen

Code: Alles auswählen

					unset($array);
					$array= array();
2. oder das array mit einer for-schleife alle werte count($tmp) auf null setzen

Code: Alles auswählen

for ($i = 0; $i < sizeof($array); $i++) {
    $array[$i] = 0; // oder = ''
}

edit: mit der 2. lösung wird ja die länge das arrays nicht kleiner bzw. die länge wird nicht null

Verfasst: Do 30.Nov, 2006 14:28
von Bootenks
wie soll die Länge des Arrays auch kleiner werden, wenn du den Wert einfach nur durch einen anderen ersetzt :P

Verfasst: Do 30.Nov, 2006 14:51
von AmigaLink
Bezüglich Version 2. Wenn du das aus irgendeinem Grund irgendwann mal machen möchtest/musst. Vergiss die Schleife und nutze statt dessen

Code: Alles auswählen

$array = array_fill(0, count($array), '');
:D

Ansonsten: Wenn du nur Inhalt und länge des arrays löschen möchtest, um ihn dann wieder zu füllen. Reicht es auch aus wenn du ihn einfach nur neu definierst.

Code: Alles auswählen

$array = array();
Mit unset(); löschst du ihn komplett. :)

Verfasst: Do 30.Nov, 2006 15:24
von bce
[quote="Bootenks";p="67146"]wie soll die Länge des Arrays auch kleiner werden, wenn du den Wert einfach nur durch einen anderen ersetzt :P[/quote] jo, hab ich dann auch bemerkt :cool:


[quote="AmigaLink";p="67147"]
Bezüglich Version 2. Wenn du das aus irgendeinem Grund irgendwann mal machen möchtest/musst. Vergiss die Schleife und nutze statt dessen

Code: Alles auswählen

$array = array_fill(0, count($array), '');
:D[/quote] werd ich mir merken


[quote="AmigaLink";p="67147"]
Ansonsten: Wenn du nur Inhalt und länge des arrays löschen möchtest, um ihn dann wieder zu füllen. Reicht es auch aus wenn du ihn einfach nur neu definierst.

Code: Alles auswählen

$array = array();
Mit unset(); löschst du ihn komplett. :)
[/quote]jupp.. dann lass ich das unset in meinem falle weg
thx

Verfasst: Do 30.Nov, 2006 15:29
von oxpus
unset(); löscht wirklich, während $array = array(); ein leeres Array erzeugt.
Will man also ein Array nicht mehr haben, nimmt man unset();, soll es nur geleert/definiert werden, dann $array = array();

Ein kleiner aber feiner Unterschied ;)