PHP里的闭包函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP里的闭包函数相关的知识,希望对你有一定的参考价值。

php5.3之后引入了闭包函数的特性,又称为匿名函数。下面介绍几种常用的用法:

1.直接使用:

<?php
$f = function($s)
{
  echo $s;  
}; //这个分号不能丢,否则会报错
$f(‘HELLO‘);

2. 在函数中使用闭包

<?php
function test()
{
  $f = function ($s)
 {
   echo $s;
 };
 $f(‘HELLO‘);
}
test();

3.用作函数的返回值

<?php
function test(){
    $f = function($s)
    {
        echo $s;  
    }; 
    return $f;     
}
$r = test();
$r(‘HELLO‘)

如果想引用闭包所在代码块上下文的变量,可以使用关键字USE,举例:

<?php
function test(){
   $a = 1;
   $b = 2;
   $f = function() use($a, $b){
       echo $a;
       echo $b;
   }
}
test();

 

以上是关于PHP里的闭包函数的主要内容,如果未能解决你的问题,请参考以下文章

Spark闭包与序列化

关于js里的this指向,函数的prototype,闭包理解

js里的闭包

PHP匿名函数(闭包函数)详解_php技巧 - PHP

PHP Closure(闭包)类详解

jQuery源码浅析