Moin!
»» Nein, das passiert hier nicht. Da die gleiche Variable wieder überschrieben wird, wird das alte Result-Set durchaus freigegeben, PHP macht das beim Vernichten der Resource automatisch.
Ich werde das genauer untersuchen. Es widerspricht allerdings der klassischen Lehrmeinung und den bisherigen Erkenntnissen. Wie sprechen nicht von PHP-OOP, dise nur nur zur Erinnerung.
Nur weil PHP auch OOP kann, heißt das ja nicht, dass diese grundsätzlichen Verhaltensweisen nur dort angewendet werden.
Man darf der Speicherverwaltung durchaus vertrauen. Erst wenn dann trotzdem kein RAM mehr verfügbar ist, sollte man sich Gedanken machen, vorher ist das unnötige Optimierung ohne Sinn.
Und bezüglich File-Handles ist der kleine Versuch jedenfalls schon recht interessant.
Wieso? Weil die interne Numerierung nicht so läuft, wie du denkst?
Wo beweist dieser Code, dass überschriebene Filehandles nicht freigegeben und entfernt werden?
Es wird eine Weile dauern, das Innenleben von PHP entsprechend zu untersuchen ;-)
Das mach mal. Ich denke aber, Christian hat das bereits getan, ansonsten hätte er nicht einige relevante Erweiterungen zu PHP 5.3 beigesteuert.
- Sven Rautenberg