1

PHP がこのようなコードを処理できるかどうか、または間違った構文を使用しているかどうかに興味があります。

$someString = implode(', ', function(){
    return array('a', 'b', 'c');
});

目的の出力はa, b, cです。

PHP バージョン 5.3.3 を使用しています。

4

1 に答える 1

1

implode()配列を取るための2番目のパラメーターなので、すぐにクロージャーを実行する必要があります。

$someString = implode(', ', call_user_func(function(){
    return array('a', 'b', 'c');
}));

これがある方が間違いなく良いでしょう:

$someString = implode(', ', function(){
    return array('a', 'b', 'c');
}());

しかし、それは解析エラーを引き起こします。

別の受け入れ可能な方法:

$myGenerator = function(){
    return array('a', 'b', 'c');
};

$someString = implode(', ', $myGenerator());
于 2013-02-14T00:16:40.967 に答える