Array-Objekt-Klasse

Das ArrayObject ermöglicht es, auf Arrays mit Objektfunktionen zu operieren. In dem unten abgebildeten PHP-Code ist zu sehen, wie aus einem Array ein ArrayObject erstellt wird und Operationen auf diesem ausgeführt werden:

Zunächst wird mit offsetGet() der erste Eintrag abgefragt. Ein Zugriff könnte jedoch auch mit den eckigen Klammern, die schon aus dem Standard-Arrayzugriff bekannt sind, erfolgen. Mit offsetSet() wird der dritte Eintrag gesetzt. Mit append() werden Einträge angehängt. Die Funktionen asort() oder auch natsort() stellen die Sortierfunktionen dar und sortieren das ArrayObject intern.

Gleichermaßen können auch aus Objekten ArrayObjecte erstellt werden. Die Variablen dieser Objekte entsprechen dann den Arraywerten:

Es existiert noch eine weitere Zugriffsmöglichkeit auf die Array-Werte. Sie können direkt als Properties des Objektes angesprochen werden. Dabei ist es möglich, die Properties wie folgt zu hinterlegen und wieder abzurufen:

Allerdings lässt sich auf diese Weise kein Zugriff auf die schon vorhandenen Werte der ExampleClass durchführen. Dies ist möglich, wenn die Konstante ArrayObject::ARRAY_AS_PROPS bei der Erzeugung angegeben wird:

Zusätzlich existiert auch die Konstante ArrayObject::STD_PROP_LIST. Sie sorgt dafür, dass Properties des Objektes ihre normale Funktionalität haben, wenn sie als Liste abgefragt werden.

Das ArrayObject gibt dem Entwickler die Möglichkeit, über Arrays mit Hilfe eines Iterators zu iterieren:

Der Iterator ist ein wichtiges Konzept der objektorientierten Welt. Somit schlägt PHP mit Hilfe des ArrayObject auf diese elegante Weise die Brücke zwischen der imperativen in die objektorientierte Welt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen