PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > 工作总结

PHP实战:PHP 匿名函数与注意事项详细介绍

管理员 2025-03-05
工作总结
4

《PHP实战:PHP 匿名函数与注意事项详细介绍》要点:
本文介绍了PHP实战:PHP 匿名函数与注意事项详细介绍,希望对您有用。如果有疑问,可以联系我们。
 

PHP 匿名函数与注意事项PHP实战

PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束
PHP5.2:JSON 支持
PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改
PHP5.5:yield, list() 用于 foreach, 细节修改
PHP5.6: 常量增强,可变函数参数,命名空间增强PHP实战

现在基本上都使用PHP5.3以后的版本,但是感觉普遍一个现象就是很多新特性,过了这么长时间,还没有完全普及,在项目中很少用到. PHP实战

看看PHP匿名函数:PHP实战

'test' => function(){    return 'test'},

PHP匿名函数的定义很简单,就是给一个变量赋值,只不过这个值是个function.PHP实战

以上是使用Yii框架配置components文件,加了一个test的配置.PHP实战

什么是PHP匿名函数?PHP实战

看官方解释:PHP实战

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数.最经常用作回调函数(callback)参数的值.当然,也有其它应用的情况.PHP实战

匿名函数示例PHP实战

<?phpecho preg_replace_callback('~-([a-z])~', function ($match) {  return strtoupper($match[1]);}, 'hello-world');// 输出 helloWorld?>

 闭包函数也可以作为变量的值来使用.PHP 会自动把此种表达式转换成内置类 Closure 的对象实例.把一个 closure 对象赋值给一个变量的方式与普通变量赋值的语法是一样的,最后也要加上分号:PHP实战

匿名函数变量赋值示例PHP实战

<?php$greet = function($name){  printf("Hello %srn", $name);};$greet('World');$greet('PHP');?>

闭包可以从父作用域中继承变量. 任何此类变量都应该用 use 语言结构传递进去.PHP实战

从父作用域继承变量PHP实战

<?php$message = 'hello'// 没有 "use"$example = function () {  var_dump($message);};echo $example();// 继承 $message$example = function () use($message) {  var_dump($message);};echo $example();// Inherited variable's value is from when the function// is defined, not when called$message = 'world'echo $example();// Reset message$message = 'hello'// Inherit by-reference$example = function () use(&$message) {  var_dump($message);};echo $example();// The changed value in the parent scope// is reflected inside the function call$message = 'world'echo $example();// Closures can also accept regular arguments$example = function ($arg) use($message) {  var_dump($arg . ' ' . $message);};$example("hello");?>

php中的匿名函数的注意事项PHP实战

在php5.3以后,php加入匿名函数的使用,今天在使用匿名的时候出现错误,不能想php函数那样声明和使用,详细看代码PHP实战

$callback=function(){  return "aa"; }; echo $callback();

打印出来是aa;PHP实战

看下面的例子:PHP实战

echo $callback(); $callback=function(){  return "aa"; };

这时报错了!$callback为未声明,但是使用php自己声明的函数都不会报错的!PHP实战

function callback(){  return "aa"; } echo callback(); //aa  echo callback(); //aa function callback(){  return "aa"; }

这两个都打印出来aa;PHP实战

 在使用匿名函数的时候,匿名函数当做变量,须提前声明,js中也是这样的!!!!!PHP实战



希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部