array_filter()的回调函数,PHP的奇技淫巧。
程序员文章站
2022-04-11 17:59:11
...
昨天看项目代码,看到一行代码大概是这么写的
array_filter($array, array($this, 'functionName');
以前没见过这种写法,functionName是控制器的一个方法名。好奇这种回调方式php是如何运作的?还有就是从哪里能学到这种php的奇技淫巧,我看php手册上都没有这种写法的介绍啊。
array_filter($array, array($this, 'functionName');
以前没见过这种写法,functionName是控制器的一个方法名。好奇这种回调方式php是如何运作的?还有就是从哪里能学到这种php的奇技淫巧,我看php手册上都没有这种写法的介绍啊。
回复讨论(解决方案)
array array_filter ( array input [, callback callback] )
如果 callback 是对象的方法应写作 array(对象名, 方法名)
不过本人阅读的不多,并没有见到该表述的权威文档,也不记得是如何知道这个表述方式的
手册上有写:
一个对象的方法以数组的形式来传递,数组的下标 0 指明对象名,下标 1 指明方法名。
对于没有实例化为对象的静态类,要传递其方法,将数组 0 下标指明的对象名换成该类的名称即可。
上一篇: PHP去除数组里的空值的方法