巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站专提News

PHP回调函数及匿名函数观点与用法详解

一佰互联网站开辟设想(www.taishanly.com) 宣布日期 2020-04-25 14:40:45 阅读数: 109

本文实例报告了PHP回调函数及匿名函数观点与用法。分享给大师供大师参考,详细以下:

1、回调函数

PHP的回调函数实在和C、Java等说话的回调函数的感化是如出一辙的,都是在主线程履行的进程中,俄然跳去履行设置的回调函数;

回调函数履行终了以后,再回到主线程处置接上去的流程

而在php挪用回调函数,不想c和java那样间接操纵函数名作为函数参数,而是在php中操纵函数对应的字符串称号履行

1.1、无参数回调

<?php//无参数回调function callback(){  echo "execute no parameters callback.<br/>";}function main($callback){  echo "execute main start.<br/>";  $callback();  echo "execute main end.<br/>";}main("callback");//成果ecute main start.execute no parameters callback.execute main end.

1.2、全局回调函数

<?php//全局函数回调function callback($a,$b){  echo "$a<====>$b.<br/>";}$func = "callback";call_user_func($func, 1,2);call_user_func_array($func, array(1,2));//成果1<====>2.1<====>2.

1.3、类体例及静态体例回调

<?phpclass Test{  //成员函数  function callback($a,$b){    echo "callback $a<====>$b.<br/>";  }  public static function staticCallback($a,$b){    echo "staticCallback $a<====>$b.<br/>";  }}//非静态体例挪用体例一$test = new Test();call_user_func(array($test, "callback"), 1,2);call_user_func_array(array($test, "callback"), array(1,2));//非静态体例挪用体例二$func = "callback";$test->$func(7,9);//静态体例挪用体例call_user_func(array("Test", "staticCallback"), 4,6);call_user_func_array(array("Test", "staticCallback"), array(4,6));call_user_func_array("Test::staticCallback", array(4,6));//成果callback 1<====>2.callback 1<====>2.callback 7<====>9.staticCallback 4<====>6.staticCallback 4<====>6.staticCallback 4<====>6.

2、匿名函数

2.1、 php中的匿名函数(Anonymous functions), 也叫闭包函数(closures), 许可指定一个不称号的函数。最经常操纵的便是回调函数的参数值

<?php$closureFunc = function($str){  echo $str."<br/>";};$closureFunc("hello world!");//成果hello world!

2.2、闭包

2.2.1、传入参数,援用部分变量

<?php$closureFunc = function($name){  $sex = "男";  $func = function($age)use ($name,$sex){    echo "$name--$sex--$age<br/>";  };  $func(23);};$func = $closureFunc("lvfk");//成果lvfk--男--23

2.2.2、前往闭包函数

<?php$closureFunc = function($name){  echo "closureFunc ";  $sex = "男";  echo "$name+++$sex<br/>";  $func = function()use ($name,$sex){    echo "$name--$sex<br/>";  };  return $func;};$func = $closureFunc("lvfk");$func();$func();//成果closureFunc lvfk+++男lvfk--男lvfk--男

2.2.3、闭包转变高低文的值,须要援用通报

<?php$closureFunc = function($name){  $age = 1;  echo "$name+++$age<br/>";  $func = function()use ($name,&$age){    $age++;    echo "$name--$age<br/>";  };  return $func;};$func = $closureFunc("lvfk");$func();$func();$func();//成果lvfk+++1lvfk--2lvfk--3lvfk--4

以上便是对闭包的简略操纵,经由过程闭包,能够看出在函数里面操纵闭包,传入闭包的参数内容,现实上能够是高低文工具内容,

也能够在闭包内变动高低文工具值,但必须是援用通报

对于闭包的感化可参考://www.taishanly.com/article/61261.htm

更多对于PHP相干内容感乐趣的读者可检查本站专题:《php经常操纵函数与技能总结》、《php字符串(string)用法总结》、《PHP数组(Array)操纵技能大全》、《PHP数据布局与算法教程》及《php法式设想算法总结》

但愿本文所述对大师PHP法式设想有所赞助。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

相干消息more

07
01月
ASP.NET企业网站空间租用

ASP.NET是ASP的进级版,空间撑持ASP不一定撑持.net,凡是咱们权衡一个空间是不是是万能就看是不是是撑持ASP.NET,以是租用ASP.... >>概况

22
11月
叨教站长 你具有几多个小我网站呢?

明天我又想开新的网站,我的弊端又起头!我此刻在运转一个地域服装服装服装服装服装论坛t.vhao.nett.vhao.nett.vhao.nett.vhao.nett.vhao.net(威流胡同http://www.valu.cn),此刻流量不高,我就想让他本身... >>概况

29
04月
php二维数组用键名分组相加实例函数

本文先容一篇对于php 二维数组以某一键名停止分组相加的实例法式,若是是从数据库里取数据的时辰大能够SELECT SUM(t_value),... >>概况

19
04月
若何下降网站跳出率 网站经营阐发

其缘由很简略:因为访客的需要差别,以是他们与你的网站的接洽干系性也就差别了让用户和你的内容发生互动能够发生发卖、定阅、标书签和回访。进步读者的参... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站