Я пытаюсь написать функцию, которая форматирует каждый (строковый) элемент / переменную в объекте, например, с функцией обратного вызова. Имена переменных мне неизвестны, поэтому они должны работать с объектами всех классов.
Как я могу достичь чего-то похожего на array_map
или array_walk
с объектами?
используйте get_object_vars (), чтобы получить ассоциативный массив членов и использовать указанные вами функции.
Кстати, вы также можете сделать foreach на объекте, как и в массиве, что иногда также полезно.
Вы можете использовать get_object_vars()
, но если вам нужно больше контроля, попробуйте использовать отражение . Это медленнее, чем get_object_vars()
(или get_class_methods()
), но это намного мощнее.
Вы ищете get_object_vars / get_class_methods (первый получает переменные, второй – имена методов).