Sven Rautenberg: Array-Auswertung optimieren

Beitrag lesen

Moin!

Kenne zwar PHP kaum, aber der wiederholte Zugriff auf das dasselbe Array-Element dürfte performanter laufen, wenn man eine Referenz darauf zwischenspeichert. Geht das in PHP überhaupt?

Sowas gibt es, macht den Code aber komplizierter, und hilft nicht wahrnehmbar.

Kann mir auch vorstellen, dass du auf die empty-Abfragen verzichten kannst, foreach macht dann halt nichts, wenn das Ding leer ist. Kann aber sein, dass foreach einen Fehler wirft, wenn man ihm keine Liste übergibt. Das könntest du mal abklären, falls nicht schon geschehen.

Stimmt nicht. foreach auf ein leeres Array angewandt läuft 0 mal durch. foreach auf ein Nicht-Array angewandt ergibt ein Warning.

In manchen Sprachen (z.B. C#) ist foreach auch langsamer als for, weil es mehr Möglichkeiten mitbringt und daher mehr Overhead braucht. Vielleicht ist das in PHP auch so?

Falsch, foreach ist in PHP schneller als for.

Wenn immer man wiederholt auf etwas wie bli.bla.blubb zugreifen muss, ist es z.B. in JavaScript besser, das Ding vorab zu speichern: (var bliblablubb = bli.bla.blubb;) und dann mit dem zwischengespeicherten Wert zu arbeiten. Leicht möglich, dass das auch für PHP gilt.

Sorry, dass ich keine genaueren Angaben machen kann.

Du erzeugst viele Gerüchte, von denen einige für PHP falsch sind, und hilfst insgesamt dem Vorankommen des Themas nicht wirklich weiter. Wenigstens steht dabei, dass du von PHP im Detail keine Ahnung hast. ;)

- Sven Rautenberg