【问题标题】:what does mean array($this, $some_method_string )?数组($this,$some_method_string)是什么意思?
【发布时间】:2013-01-11 07:04:45
【问题描述】:

很抱歉,它可能看起来很简单,但这是什么意思:

array($this, $some_method_string)

在这段代码中:

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

【问题讨论】:

  • 这是一个callback。 “实例化对象的方法作为数组传递,其中包含索引 0 处的对象和索引 1 处的方法名称。”

标签: php arrays methods


【解决方案1】:
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)?
  • 因为你不能通过$this->some_method_string 而不在当时和那里调用它。回调的概念,注意术语 CALL-BACK,它可以在以后使用。
  • 例如,如果您将 $this->do_something() 用作回调,则必须指定回调方法的名称('do_something') 它是什么对象的一部分。在 PHP 中指定它的方法是使用数组表示法; array([有回调的对象], [回调方法的名称])
【解决方案2】:

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

您必须将该函数的名称指定为字符串或字符串变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2018-10-29
    • 2011-06-20
    • 2019-10-07
    • 2012-05-04
    • 2013-03-29
    • 1970-01-01
    相关资源
    最近更新 更多