[PHP-users 34246] Re: 再帰処理について

shin-1 @ ca2.so-net.ne.jp shin-1 @ ca2.so-net.ne.jp
2009年 1月 18日 (日) 11:20:41 JST


shin-1です。

>>グローバル変数を利用した上記処理は出来たのですが
>何とかグローバル変数を利用せずに関数内で完結するよう処理したいところです。

というだけなら、以下でどうでしょう。

function hoge($arg1, $aryKey = array(), $result = array())
{

    foreach ($arg1 as $intKey => $mixValue) {
        if (is_array($mixValue)) {
            $aryKey[] = $intKey;
            return call_user_func(__FUNCTION__, $mixValue, $aryKey, $result);
        }
        $result[] = join('/', $aryKey) . '/' . $mixValue;
    }
    return $result;
}


PHP-users メーリングリストの案内