php 使用数组作为 array_map 第一个参数
我无法弄清楚第一个返回语句,任何人都可以帮助解释它是如何工作的吗? array_map 接受第一个参数的函数,但这里是一个数组。 array(&$this, '_trimData')
是如何工作的?感谢您的解释。
private function _trimData($mParam)
{
if (is_array($mParam))
{
return array_map(array(&$this, '_trimData'), $mParam);
}
$mParam = trim($mParam);
return $mParam;
}
I can't kind of make out the first return statement, can anybody help to explain how it works?
the array_map
accept a function for the first arg, but here is an array. and how does array(&$this, '_trimData')
work? thanks for explaining.
private function _trimData($mParam)
{
if (is_array($mParam))
{
return array_map(array(&$this, '_trimData'), $mParam);
}
$mParam = trim($mParam);
return $mParam;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一个递归函数。如果传递给它的参数是一个数组,
_trimData
会调用自身。array(&$this, '_trimData')
是一个 回调当前对象的方法_trimData
。整个方法实际上可以替换为:
This is a recursive function.
_trimData
calls itself if the parameter passed to it was an array.array(&$this, '_trimData')
is a callback to the current object's method_trimData
.The entire method could really be replaced with:
它是回调:
$this->_trimData()
(对象$this
的_trimData
)It is callback:
$this->_trimData()
(_trimData
of object$this
)进一步解释一下 array(&$this, '_trimData') 如何充当回调,尽管看起来像一个数组:
所以在这种情况下,对象是
&$this
方法是_trimData
,并将其放入数组是 PHP 允许您将其作为回调传递到array_map
的一种方式。A bit further of an explanation about how
array(&$this, '_trimData')
acts as a callback, despite looking like an array:So in this case, the object is
&$this
and the method is_trimData
, and making it into an array is one way PHP allows you to pass it as a callback intoarray_map
.