2

最初の return ステートメントを理解できません。どのように機能するか説明してくれる人はいますか? 最初の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;
}    
4

3 に答える 3

3

これは再帰関数です。 _trimData渡されたパラメーターが配列であった場合、それ自体を呼び出します。

array(&$this, '_trimData')現在のオブジェクトのメソッドへのコールバック_trimDataです。

メソッド全体は、実際には次のものに置き換えることができます。

private function _trimData($mParam)
{ 
    array_walk_recursive($mParam, 'trim');
    return $mParam;
}
于 2012-01-08T16:52:51.880 に答える
1

コールバックです: $this->_trimData()(_trimDataオブジェクトの$this)

于 2012-01-08T16:53:37.703 に答える