콜백 함수를 사용하여 객체의 모든 (문자열) 멤버/변수를 포맷하는 함수를 작성하려고합니다. 변수 이름은 내게 알려지지 않으므로 모든 클래스의 객체와 함께 작동해야합니다.PHP : 객체에 대한 array_map?
개체가있는 array_map
또는 array_walk
과 비슷한 것을 어떻게 얻을 수 있습니까?
콜백 함수를 사용하여 객체의 모든 (문자열) 멤버/변수를 포맷하는 함수를 작성하려고합니다. 변수 이름은 내게 알려지지 않으므로 모든 클래스의 객체와 함께 작동해야합니다.PHP : 객체에 대한 array_map?
개체가있는 array_map
또는 array_walk
과 비슷한 것을 어떻게 얻을 수 있습니까?
get_object_vars()을 사용하여 회원의 연관 배열을 가져온 다음 언급 한 기능을 사용하십시오.
btw와 같이 배열 에서처럼 foreach를 수행 할 수도 있습니다.이 경우 가끔 유용합니다.
당신은 get_object_vars/get_class_methods을 찾고 있습니다. 첫 번째는 변수를 얻고 두 번째는 메소드 이름을 얻습니다.
get_object_vars()
을 사용할 수 있지만 더 많은 제어가 필요한 경우 reflection을 사용해보세요. 그것은 get_object_vars()
(또는 그 문제에 대해서는 get_class_methods()
)보다 느리지 만 훨씬 강력합니다.
'과 같은 것을 할 수 있습니다. PHP의 멋진 기능에 대해 몰랐어요! 나는 정확히 내가 어떻게 사용했는지 모르겠다.하지만 그것은 여전히 멋지다! – nickf
감사합니다. foreach 접근 방식이 제 경우에 가장 적합합니다. –
드물게 ArrayObject를 사용할 때'$ obj-> exchangeArray (array_map ('func', $ obj-> getArrayCopy())); ' –