2017-07-26 1 views
1

Ich habe von diesem SO question gelernt, dass der beste Weg, um Objekte in PHP zu zerstören, unset ist.PHP Destruktor | unset() VS Überschreiben von Objekt

Ich frage mich, ob ich selbst das Objekt zerstören muß, wenn ich im Wesentlichen der gleiche var in einer Schleife ...

bin mit
foreach ($ids_array as $id) { 
    $O = new Object($id); 

    // stuff and things 
} 

Nutzt dies wirklich den gleichen Speicher oder bin ich unwissentlich ein Bündel zu schaffen von Objekten und nicht sie zu zerstören?

+0

Sie überschreiben jedes Mal $ O durch die Schleife. – AbraCadaver

Antwort

2

Wenn es keine Variable gibt, die sich auf ein Objekt bezieht, wird es irgendwann Müll sammeln. Zu diesem Zweck ist es egal, ob Sie die Variable (n) unset oder einfach etwas anderes zuweisen, so dass sie aufhören, auf das Objekt zu verweisen.

IMO sollten Sie selten unset verwenden, sollten Sie lieber schreiben kleine Funktionen, die automatisch alle Variablen in ihrem Umfang verwerfen, wenn sie zurückkehren, was bedeutet, die Dinge Müll automatisch eher früher gesammelt bekommen als später und Sie nicht brauchen sich viel Sorgen machen.