create_function()函数讲解

create_function创建一个匿名函数(lambda-style)功能
string
create_function ( string $args , string $code )
创建一个匿名函数的参数,并从通过返回一个独特的名字。

按照手册上的例子,我测试了一下,很不错.

但不知道怎么的,我自己写就是出错.

$a = create_function(‘$a,$b,$c’,’return $a+$b+$c’);
echo “create_function : “.$a.”

“;
echo $a(2,3,4);

echo http://xphper.com;
?>

上面的代码只能输出字符串”create_function : “,就连下面博客网址也不会输出.

测试了好久,最后终于发现了问题的解决办法,好诡异啊!

$a = create_function(‘$a,$b,$c’,’return $a+$b+$c;’);
echo “create_function : “.$a.”

“;
echo $a(2,3,4);

echo “http://xphper.com”;
//输出结果
//create_function : lambda_94
//9
//http://xphper.com
?>

细心的朋友可能会注意到,就是第二行的 return返回语句没有;结束.
现在OK啦!

通过测试的结果,发现返回的匿名函数名称基本都是以lambda_开头的,后面跟数字,每刷新一次页面,数字自增1.

但也许最普遍使用的lambda-style(匿名)功能是创造回调函数,例如当使用array_walk() or usort() 时。

发表评论

返回顶部