2008-09-22 5 views
7

콜백 함수를 사용하여 객체의 모든 (문자열) 멤버/변수를 포맷하는 함수를 작성하려고합니다. 변수 이름은 내게 알려지지 않으므로 모든 클래스의 객체와 함께 작동해야합니다.PHP : 객체에 대한 array_map?

개체가있는 array_map 또는 array_walk과 비슷한 것을 어떻게 얻을 수 있습니까?

답변

9

get_object_vars()을 사용하여 회원의 연관 배열을 가져온 다음 언급 한 기능을 사용하십시오.

btw와 같이 배열 에서처럼 foreach를 수행 할 수도 있습니다.이 경우 가끔 유용합니다.

+0

감사합니다. foreach 접근 방식이 제 경우에 가장 적합합니다. –

+0

드물게 ArrayObject를 사용할 때'$ obj-> exchangeArray (array_map ('func', $ obj-> getArrayCopy())); ' –

1

get_object_vars()을 사용할 수 있지만 더 많은 제어가 필요한 경우 reflection을 사용해보세요. 그것은 get_object_vars() (또는 그 문제에 대해서는 get_class_methods())보다 느리지 만 훨씬 강력합니다.

+0

'과 같은 것을 할 수 있습니다. PHP의 멋진 기능에 대해 몰랐어요! 나는 정확히 내가 어떻게 사용했는지 모르겠다.하지만 그것은 여전히 ​​멋지다! – nickf

관련 문제