Leider werden solche Konstrukte werden von PHP-Programmierern oft genutzt, mit der Begründung, dass das Selbstschreiben einer effizienteren Suchfunktion unnötige Mikrooptimierung ist
Schön, wenn das so wäre. Ich glaube aber, dass leider das Gegenteil der Fall ist.
aber auf einem belasteten Server kann sparsamer Einsatz von temporären Strukturen, sprich eine Entlastung des Garbage-Collectors - schon einen Unterschied ausmachen.
Wenn dem so ist, ist das mit einem Profiling schnell entdeckt und behoben. Wenn der Flaschenhals woanders liegt, ist das mit einem Proliging ebenfalls schnell entdeckt und behoben. Optimieren auf Verdacht ist selten erfolgreich, die Entwicklung dauert länger, die Code-Basis wächst und wird unverständlich. Deshalb lautet die goldene Regel: Optimieren wenn es zu spät ist. Optimieren ist wie Schatzsuchen: Man kann überall am Strand seine Löscher buddeln, darüber stolpern und am Ende des Tages körperlich erschöpft und ohne den Schatz nach Hause gehen. Oder man nimmt einen Metalldetektor mit und buddelt nur da wo es einen Ping gibt, das spart Energie und Zeit und es steigert die Wahrscheinlichkeit, dass man am Ende des Tages ungeschunden und mit dem Schatz nach Hause gehen kann.