可变函数

一个函数的名,是一个变量的时候,就称为可变函数

<?php

header("content-type:text/html;charset=utf8");

function f1(){

      echo "<br/>这是一个可变函数";

}

$v = "f1";

$v();

匿名函数

匿名函数 就是没有名字的函数

形式:

   $v1 = function(形参列表){};

   $v1(实参列表);

  

<?php
header("content-type:text/html;charset=utf8");

$v1 = function($x){
echo "<br/>这一个是匿名函数".$x;
}; //匿名函数,赋值给一个变量

$v1(3);//通过该变量v1,去调用该匿名函数

匿名函数应用实例:

实例一:

<?php

$v1=functio n($x,$y,$z){

$sum = $x+$y;

$result = $z($sum);

};

$v1(3,4,function($p1){echo $p1*$p1});//输出49

实例二:

function f1($x,$y,$z){

$sum = $x+$y;

$result = $z($sum);

return $result;

}

$v2 = f1(

3,

4,

function($p1){return $p1*$p1;}

);

echo $v2;  //49

可调函数和回调函数

可调函数(callable):指的是“形参的类型是一个函数”;

回调函数(callback): 指的是“调用某个函数的时候传过去作为实参函数”;

php中的可变函数和匿名函数的更多相关文章

  1. PHP:第三章——PHP中表达式函数和匿名函数

    <?php header("Content-Type:text/html;charset=utf-8"); //表达式函数和匿名函数 /*$A=function(){ ech ...

  2. 18)PHP,可变函数,匿名函数 变量的作用域

    (1)可变函数: 可变函数,就是函数名“可变”——其实跟可变变量一样的道理. $str1 = “f1”;   //只是一个字符串,内容为”f1” $v1 = $str1(3, 4);   //形式上看 ...

  3. PHP中的回调函数和匿名函数

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  4. Python中的高阶函数与匿名函数

    Python中的高阶函数与匿名函数 高阶函数 高阶函数就是把函数当做参数传递的一种函数.其与C#中的委托有点相似,个人认为. def add(x,y,f): return f( x)+ f( y) p ...

  5. js中 函数声明/函数表达式/匿名函数/箭头函数/立即执行函数

    函数声明: function add(a, b) { // ... } 1.顾名思义,声明一个函数, 用关键字 “function” 来告诉,这是一个函数. 2.任何地方,想用就可以拿过来使用 函数表 ...

  6. Javascript中的回调函数和匿名函数的回调

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Javascript中的回调函数和匿名函数的回调示例介绍

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. Go语言 - 函数 | 作用域 | 匿名函数 | 闭包 | 内置函数

    函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 介绍 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数可以赋值给变量 函数 ...

  9. python——内置函数和匿名函数

    内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ...

随机推荐

  1. 转载:JAVA的静态变量、静态方法、静态类

    静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象                                ...

  2. centos 7安装部署docker

    1.centos 7 在windows下通过vm虚拟机安装centos 7: VMware-workstation-full-10.0.3-1895310 centos 7 2.要求 操作系统的内核版 ...

  3. .NET操作Xml类

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.I ...

  4. 在Win8中用批处理创建Oracle数据库时报“Unable to open file”

    这一问题的原因是在运行批处理时使用了“以管理员权限运行”.如果直接双击运行是没有问题的. 如果我就想用管理员权限运行呢? 出这个错误的原因是,以管理员权限运行时的当前目录不是批处理所在的目录了.所以, ...

  5. Gridview 分多页时导出excel的解决方案

    在开发会遇到将gridview中的数据导入到excel 这样的需求,当girdview有多页数据时按照一般的方式导出的数据只可能是当前页的数据,后几页的数据还在数据库内,没有呈现到页面上,传统的方式是 ...

  6. 《大型网站系统与Java中间件实践》读书笔记

    分布式系统的基础知识 阿姆达尔定律 多线程交互模式 互不通信,没有交集,各自执行各自的任务和逻辑 基于共享容器(如队列)协同的多线程模式->生产者-消费者->队列 通过事件协同的多线程模式 ...

  7. zend studio导入svn项目后不能代码提示的解决

    把项目下.project的文件内容改成如下: <?xml version="1.0" encoding="UTF-8"?><projectDe ...

  8. Sql服务定时重启

    net stop sqlserveragentnet stop mssqlservernet start mssqlservernet start sqlserveragent 保存到记事本中,重命名 ...

  9. 线程Thread,有参数和参数

    一.不带参数的 using System; using System.Collections.Generic; using System.Text; using System.Threading; n ...

  10. type="file" 选择图片后预览

    function setImagePreview(avalue) { var docObj = document.getElementById("doc"); var imgObj ...