2011-10-05 3 views
1

특정 키를 걸러 내고 싶은 배열이 있습니다. 의는 $subcats이 배열에 해당한다고 가정 해 봅시다 :배열 줄이기/필터링

Array 
(
    [0] => stdClass Object 
     (
      [term_id] => 4 
      [term_group] => 0 
      [term_taxonomy_id] => 4 
      [taxonomy] => category 
     ) 

    [1] => stdClass Object 
     (
      [term_id] => 5 
      [term_group] => 0 
      [term_taxonomy_id] => 5 
      [taxonomy] => category 
     ) 

) 

내가 원하는 건 그 자체가 배열의 term_ids입니다.

foreach 및 array_values를 시도했지만 그 순간에 내 머리를 감쌀 수 없습니다. array_filter를 사용해야합니까?

그래서 결과는 $term_ids = array(4, 5);

답변

1
$termIds = array_map(function($i) { return $i->term_id; }, $subcats); 

이 구문은 5.3+ PHP를 요구해야한다.

+0

내 서버에는 PHP 5.2.14가 있습니다. – gavsiu

+0

['create_function'] (http://php.net/create_function)을 사용하여 동일한 것을 재현하거나 루프를 사용할 수 있습니다. – deceze

+0

'function term_id ($ i) {return $ i-> term_id; } print_r (array_map ('term_id', $ subcats));' – gavsiu