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()