array($this, $some_method_string) 是什么意思?

10

抱歉如果这看起来很简单,但那是什么意思:

array($this, $some_method_string)

在这段代码中:

array_map(array($this, $some_method_string), $some_data)

2
这是一个回调函数。"将实例化对象的方法作为包含对象索引0和方法名称索引1的数组传递。" - cmbuckley
2个回答

8
array($this, $some_method_string)

这是一个有效的回调函数,在$this上调用$some_method_string方法:

使用array_map,对于$some_data的每个元素,调用$this->$some_method_string(currentElement)


为什么不简单地写成:array($this->some_method_string, $some_data)? - user1611830
1
因为你不能在不立即调用的情况下传递 $this->some_method_string。回调函数的概念,注意术语 CALL-BACK,是它可以在以后使用。 - Mark Tomlin
例如,如果您使用$this->do_something()作为回调函数,您必须指定回调方法的名称('do_something')以及它所属的对象。在PHP中指定此方式是使用数组表示法; array([具有回调的对象], [回调方法的名称])。 - thaJeztah

0

你有一个函数名,例如 function my_function ...

你必须将该函数名作为字符串或字符串变量给出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接