闭包函数也可以作为变量的值来使用。PHP会自动把表达式转换成内置类Closure的 对象实例。把一个closure对象赋值给一个变量的方式与普通变量赋值的语法是一样的,最后也要加上分号。 Example #2 匿名函数变量赋值示例<?php
$greet = function($name)
{
printf("Hello %s\r\n", $name);
};$greet('World');//这个语法看起来很奇怪啊,$greet是一个变量为何按函数调用语法来使用呢?
$greet('PHP');
?>
$greet = function($name)
{
printf("Hello %s\r\n", $name);
};$greet('World');//这个语法看起来很奇怪啊,$greet是一个变量为何按函数调用语法来使用呢?
$greet('PHP');
?>
解决方案 »
- radio取值问题?
- PHP发送HTTP请求的问题
- 怎么样才能控制图片的点击效果?让图片点击时,换张图
- 如何将PHP的变量写到状态栏中
- 北京嘉禾映日诚聘急聘php技术人员
- php.exe应用程序错误["0×100b4d56"指令引用的"0×00000000"内存,该内存不能为"read"]这样的报错是怎么回事?
- 我要怎样得到回传值?急帮帮忙忙!谢谢!
- 怎样让一个表单提交到不同的页面?
- 请问fileperms这个函数返回的值是什么
- 我的mysql一运行mysqld-shareware -install提示Failed to install Service.Why?Winnt+sp4
- ThinkPHP连接sql sever问题
- 用NAVICAT8,同时建立300多个表,用1个SQL语句
var $_v;
function o($v){
$_v=$v;
}
}$obj = new o('test');
$obj('new values');//此处语法错误!
main(){
float (*p)();
float func(int n);
p=max;
(*p)(111);//调用函数
}
float func(int n){
return n;
}
问题是这里,$greet是一个变量,或者也可以说是一个对象,但这个调用“$greet('World');”,却不是按变量那样使用,也不是按对象那样使用,而是按函数那样使用,感觉很别扭。