このようなことは可能ですか?文字列を引数として受け入れる関数があるとしましょう。ただし、この文字列を提供するには、データの処理を行う必要があります。そこで、JSのように、クロージャを使用することにしました。
function i_accept_str($str) {
// do something with str
}
$someOutsideScopeVar = array(1,2,3);
i_accept_str((function() {
// do stuff with the $someOutsideScopeVar
$result = implode(',', $someOutsideScopeVar); // this is silly example
return $result;
})());
i_accept_str()
文字列の結果を直接提供できるように呼び出すときのアイデアです...おそらくcall_user_func
効果がないことが知られている方法でそれを行うことができますが、代替手段はありますか?
PHP5.3とPHP5.4の両方のソリューションが受け入れられます(上記の必要な動作はテストされており、PHP 5.3では機能しませんが、PHP 5.4では機能する可能性があります...)。