Rolf B: Tipps für die Verwendung von Array oder Objekt

Beitrag lesen

Hallo MB,

lass mich mit einem Zitat aus dem Handbuch beginnen:

Ein Array in PHP ist tatsächlich eine geordnete Map. Eine Map ist ein Typ, der Werte zu Schlüsseln zuordnet

Die Map ermöglicht dir die Nutzung als Key-Value Speicher, auch Hashtable oder Dictionary genannt. Numerische Keys haben Sonderstatus und ermöglichen den Gebrauch als Array im engeren Sinne, d.h. eine Datenstruktur aus Werten gleichen Typs, die an fortlaufend nummerierten Positionen gespeichert sind.

Die geordnet-Eigenschaft ermöglicht dazu Nutzungen als Liste, Stack oder Queue.

Ein Objekt ist eine Datenstruktur mit einer wohldefinierten und nicht zur Laufzeit erweiterbaren Menge aus Eigenschaften und Methoden. Elemente dieser Menge können von außen zugänglich sein oder nicht. Die Definition entsteht durch die Klasse (das ist eine Definition für PHP). In manchen Sprachen ist der Zugriff auf Objekteigenschaften deutlich fixer als auf Einträge in einer Map, aber nicht in PHP.

In der Praxis kann es etwas verschwimmen (anonyme Funktionen als Arraywert und magische Methoden), aber das sind die beiden Eckpunkte.

Du musst dich also fragen, was du da eigentlich hast. Und dann die passende Implementierung nehmen.

Objekte die einfach nur eine Sammlung aus öffentlichen Eigenschaften sind, nennt man übrigens PO?Os (Plain Old ? Objects), wobei das ? für die Sprache steht. Java: POJO, C++, .net: POCO, PHP: POPO.

Rolf

--
sumpsi - posui - clusi