日期:2014-05-16  浏览次数:20465 次

array_filter()的回调函数,PHP的奇技淫巧。
昨天看项目代码,看到一行代码大概是这么写的
array_filter($array, array($this, 'functionName');
以前没见过这种写法,functionName是控制器的一个方法名。好奇这种回调方式php是如何运作的?还有就是从哪里能学到这种php的奇技淫巧,我看php手册上都没有这种写法的介绍啊。
------解决方案--------------------
array array_filter ( array input [, callback callback] )

如果 callback 是对象的方法应写作 array(对象名, 方法名)
不过本人阅读的不多,并没有见到该表述的权威文档,也不记得是如何知道这个表述方式的
------解决方案--------------------
手册上有写:
一个对象的方法以数组的形式来传递,数组的下标 0 指明对象名,下标 1 指明方法名。
对于没有实例化为对象的静态类,要传递其方法,将数组 0 下标指明的对象名换成该类的名称即可。