我不能理解第一个返回语句,有谁能解释一下它是如何工作的吗?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;
}
发布于 2012-01-09 00:52:52
这是一个递归函数。如果传递给它的参数是一个数组,_trimData
就调用它自己。
array(&$this, '_trimData')
是指向当前对象的方法_trimData
的callback。
整个方法真的可以替换为:
private function _trimData($mParam)
{
array_walk_recursive($mParam, 'trim');
return $mParam;
}
发布于 2012-01-09 00:53:38
它是回调:$this->_trimData()
( object $this
的_trimData
)
https://stackoverflow.com/questions/8779310
复制相似问题