phpbar.de logo

Mailinglisten-Archive

[php] unset bei rekursiven arrays

[php] unset bei rekursiven arrays

rafaels_mailinglists at gmx.de rafaels_mailinglists at gmx.de
Mit Feb 25 17:21:03 CET 2004


> 
> 
> > Nach dem unset bleibt mein Speicher auf dem selben Stand wie vor dem
> > unset.
> 
> Das ganze Array kannst Du also damit nicht zerstören, nur die inneren 
> Elemente. Du könntest mit array_walk alle einzeln mit unset zerstören.

Tatsache so geht es:
<?php
set_time_limit(0);
$a=array();

for($j=0;$j<5;$j++) {
	for($i=0;$i<20000;$i++) {
		$a[$i] = array(1,2,3,4,5,&$a[$i]);
	}
	echo "before unset\n";sleep(5);
	foreach($a AS $key => $value) {
		if(is_array($value)) {
			foreach($value AS $key1 => $value1) {
				unset($a[$key][$key1]);
			}
		}
		unset($a[$key]);
	}
	echo "after unset\n";sleep(5);
}
?>

Es ist sehr unschön aber es funktioniert.
@Barb: Danke!

Gruß Rafael

-- 
GMX ProMail (250 MB Mailbox, 50 FreeSMS, Virenschutz, 2,99 EUR/Monat...)
jetzt 3 Monate GRATIS + 3x DER SPIEGEL +++ http://www.gmx.net/derspiegel +++


php::bar PHP Wiki   -   Listenarchive