Hallo Leute,
ich habe eine Klasse, in deren Konstruktor ich eine Methode aufrufe. In dieser Methode durchlaufe ich das Array $this->tree mit einer for-Schleife. Unter bestimmten Bedingungen soll unset($this->tree[$i]) ausgeführt werden. Allerdings klappt dies nicht so recht -- nur die erste Hälfte das Arrays wird komischerweise gelöscht.
Habe deswegen alle Bedingungen entfernt, um somit jedes Array-Element von $this->tree mit unset() zu löschen. Aber dies hat auch nicht geklappt... warum auch immer. Jedenfalls habe ich festgestellt, dass der Befehl $this->tree[$i] = FALSE; funktioniert. Allerdings nütz mit dies wenig, da die Array-Elemente nicht entfernt, sondern einfach als FALSE gesetzt werden; ich brauch sie aber ganz weg.
Das klappt NICHT:
Das klappt SCHON:
Was ist der Grund für diesen Fehler und wie kann ich ihn vermeiden?
ich habe eine Klasse, in deren Konstruktor ich eine Methode aufrufe. In dieser Methode durchlaufe ich das Array $this->tree mit einer for-Schleife. Unter bestimmten Bedingungen soll unset($this->tree[$i]) ausgeführt werden. Allerdings klappt dies nicht so recht -- nur die erste Hälfte das Arrays wird komischerweise gelöscht.
Habe deswegen alle Bedingungen entfernt, um somit jedes Array-Element von $this->tree mit unset() zu löschen. Aber dies hat auch nicht geklappt... warum auch immer. Jedenfalls habe ich festgestellt, dass der Befehl $this->tree[$i] = FALSE; funktioniert. Allerdings nütz mit dies wenig, da die Array-Elemente nicht entfernt, sondern einfach als FALSE gesetzt werden; ich brauch sie aber ganz weg.
Das klappt NICHT:
PHP-Code:
<?php
function setTree()
{
for($i = 0; $i < count($this->tree); $i++)
{
unset($this->tree[$i]);
}
}
?>
PHP-Code:
<?php
function setTree()
{
for($i = 0; $i < count($this->tree); $i++)
{
$this->tree[$i] = FALSE;
}
}
?>
Kommentar