PHP是否允许在连接期间使用匿名函数作为参数之一?
如果是,那么正确的语法是什么?
例如,这是我想要工作的一个例子:
$final_text = $some_initial_string . function ($array_of_strings)
{
$out = '';
foreach ($array_of_strings as $this_particular_string)
{
$out .= $this_particular_string;
}
return $out;
};
答案 0 :(得分:1)
注意:以下内容适用于PHP V7.x,但不适用于PHP 5.6版(对于5.6,首先将匿名函数分配给变量)
/*
* Strings before & after
*/
$table_heading_text = "HEADING";
$table_bottom_text = "BOTTOM";
/*
* Use the function this way
*/
echo $table_heading_text . (function (array $array_of_strings)
{
$out = '';
foreach ($array_of_strings as $this_particular_string)
{
$out .= $this_particular_string;
}
return $out;
})(array(
"hi",
"mom"
)) . $table_bottom_text;
简而言之......
( ... )
示例:
echo "BEFORE" . (function ($x){return $x;})(" - MIDDLE - ") . "AFTER";
echo "BEFORE" . (function (){return " - MIDDLE - ";})() . "AFTER";
此外,使用implode()可能更适合此特定任务。