递归闭包,嵌套闭包

时间:2014-05-06 19:33:39

标签: php

使用以下数组:

$values = ['string1', 'string2', 'string3'];

我想迭代这个数组并构建下面的代码:

$q->method('string1', function($q)
{
    $q->method('string2', function($q)
    {
        $q->method('string3', function($q)
        {
            $q->method();
        });
    });
});

如何在PHP中完成?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$values = ['string1','string2','string3'];
$callback = function($q) use (&$values,&$callback) {
    if( !$values) $q->method();
    else $q->method(array_shift($values),$callback);
};
$callback($q);

这应该符合您的需求:)