Array_filter在对象的上下文中,具有私有回调

时间:2011-11-23 09:05:32

标签: php callback 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 个答案:

答案 0 :(得分:42)

是:

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

请参阅documentation for the callback type