2013-08-13 4 views
0

개체 배열이 있고 특정 클래스 이름이 포함되어 있는지 확인하고 싶습니다. 그래서 시도 :get_class 필터를 사용하는 PHP array_filter

$all_classnames = array_filter($obj_array, 'get_class'); 
$found = in_array("classname_to_test", $all_classnames); 

만, $의 all_classnames는 여전히 원래 개체 배열 대신 (get_class 통해) 클래스 이름의 배열을 보유하고 있습니다. 내가 여기서 뭔가를 놓치고 있니? 를 사용하는 다른 배열 함수보다 역순의 인수를

$all_classnames = array_map('get_class', $obj_array); 

참고 array_map 있음 :

답변

2

는 대신의 array_filter (입력 콜백 함수에 기초하여 배열 변환) array_map을 사용할 PHP 때문에 콜백.

+0

완벽한, 작은 생각의 오류입니다. 감사! 그들이 내게 대답하자마자 내 대답을 설정합니다 :) – Robbert

1

이것은 어떻게 array_filter 기능이 작동하지 않습니다. 콜백이 false을 반환하면 배열에서 요소를 제거합니다. 당신이 필요로하는 무엇

array_map

$all_classnames = array_map('get_class', $obj_array); 
관련 문제