欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

array_filter()的回调函数,PHP的奇技淫巧。

程序员文章站 2022-05-22 11:43:16
...
昨天看项目代码,看到一行代码大概是这么写的
array_filter($array, array($this, 'functionName');
以前没见过这种写法,functionName是控制器的一个方法名。好奇这种回调方式php是如何运作的?还有就是从哪里能学到这种php的奇技淫巧,我看php手册上都没有这种写法的介绍啊。


回复讨论(解决方案)

array array_filter ( array input [, callback callback] )

如果 callback 是对象的方法应写作 array(对象名, 方法名)
不过本人阅读的不多,并没有见到该表述的权威文档,也不记得是如何知道这个表述方式的

手册上有写:
一个对象的方法以数组的形式来传递,数组的下标 0 指明对象名,下标 1 指明方法名。
对于没有实例化为对象的静态类,要传递其方法,将数组 0 下标指明的对象名换成该类的名称即可。