PHP – 在类中使用array_filter时回调函数的问题

了一个类处理好友,其中有一个方法用来同步好友,而这个方法中需要从微博传来的关注列表和粉丝列表中,找到互相关注的用户,记录一下经验,主要还是关于回调函数。

按照我最初的理解,这样写就可以了

private function getMutualFromSina ($focusList) {
    return array_filter($focusList, "filterSinaList");
}
private function filterSinaList ($value) {
    return in_array($value, $this->fansList);
}

不过执行后返回一个Warning:

Warning: array_filter() [function.array-filter]: The second argument, 'filterSinaList', should be a valid callback in ***** on line 11

后来查了查,对于类中调用回调函数,应该这样写:

private function getMutualFromSina ($focusList) {
    return array_filter($focusList, array($this,"filterSinaList"));
}
private function filterSinaList ($value) {
    return in_array($value, $this->fansList);
}

等于就是像正常地在类中调用方法一样:$this->xxxx()

原文地址:https://www.cnblogs.com/fogwang/p/5674081.html