PHP: array_map auf Objekt?
Ich versuche, eine Funktion schreiben, die alle Formate (string) member/Variablen in ein Objekt, zum Beispiel mit einer callback-Funktion. Die Variablen-Namen sind mir unbekannt, also muss das arbeiten mit Objekten aller Klassen.
Wie kann ich etwas erreichen ähnlich wie array_map
oder array_walk
mit Objekten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
verwenden get_object_vars() um ein assoziatives array der Mitglieder, und die Funktionen, die Sie erwähnt.
btw, man kann auch ein foreach auf ein Objekt wie auf ein array, das ist manchmal sehr nützlich.
ArrayObject
können Sie etwas tun, wie$obj->exchangeArray(array_map('func', $obj->getArrayCopy()));
Können Sie
get_object_vars()
, aber wenn Sie mehr Kontrolle benötigen, versuchen Sie es mit Reflexion. Es ist langsamer alsget_object_vars()
(oderget_class_methods()
für diese Angelegenheit), aber es ist viel mehr mächtig.Du suchst get_object_vars /get_class_methods (der erste bekommt die Variablen, die zweite den Methodennamen).