Array_filter в контексте объекта с закрытым обратным вызовом

Я хочу фильтровать массив, используя функцию array_filter. Он намекает на использование call_user_func под водой, но не упоминает ничего о том, как использовать в контексте класса/объекта.

Некоторые псевдокоды, чтобы объяснить мою цель:

class RelatedSearchBlock {
  //...
  private function get_filtered_docs() {
    return array_filter($this->get_docs(), 'filter_item');
  }

  private filter_item() {
    return ($doc->somevalue == 123)
  }
}

Мне нужно изменить 'filter_item' на array($this, 'filter_item')? Это то, что я хочу вообще?

Ответ 1

Да:

return array_filter($this->get_docs(), array($this, 'filter_item'));

См. документацию для типа callback.