Hallo,
leider habe ich keine Idee und ich möchte diesen Code unbedingt optimieren.
Inwiefern optimieren:
- Kürzerer Quellcode?
- Schnellere Ausführung ?
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?
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.
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?
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.
Gruß, Don P