PHP: массив_карт на объекте? - PullRequest
8 голосов
/ 22 сентября 2008

Я пытаюсь написать функцию, которая форматирует каждый (строковый) член / переменную в объекте, например, с помощью функции обратного вызова. Имена переменных мне неизвестны, поэтому они должны работать с объектами всех классов.

Как мне добиться чего-то похожего на array_map или array_walk с объектами?

Ответы [ 3 ]

11 голосов
/ 22 сентября 2008

используйте get_object_vars () , чтобы получить ассоциативный массив членов и используйте функции, которые вы упомянули.

Кстати, вы также можете использовать foreach для объекта, как для массива, что иногда полезно.

1 голос
/ 22 сентября 2008

Вы можете использовать get_object_vars(), но если вам нужно больше контроля, попробуйте использовать отражение . Это медленнее, чем get_object_vars() (или get_class_methods() в этом отношении), но оно намного мощнее.

0 голосов
/ 22 сентября 2008

Вы ищете get_object_vars / get_class_methods (первая получает переменные, вторая - имена методов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...