php匿名函数小示例

<?php
//$fun = function($params){
//    echo $params;
//};
//
//$fun('aa');


//例一
//在普通函数中定义一个匿名函数
//function printStr(){
//    $fun = function($something){
//        echo $something;
//    };
//    $fun('something');
//
//}
//printStr();


//例子二
//在普通函数中定义一个匿名函数,并将其返回
//function printStr(){
//    $fun = function($something){
//        echo $something;
//    };
//    return $fun;
//}
//$printString = printStr();
//$printString('aaaaddd');


//例子三
//把匿名函数当做参数传递
//function printStr($fun,$a){
//    $fun($a);
//}
//
//$fun = function($str){
//    echo $str;
//};
//printStr($fun,'ddsdddd');


//闭包需要使用use才可以引用上下文的变量
//function getMoney(){
//    $a = 1;
//    $b = 2;
//    $fun = function() use ($a,$b) {
//        echo $a;
//        echo $b;
//    };
//    $fun();
//}
//
//getMoney();


//闭包不能改变上下文的变量,除非使用&符号,下例输出11
//function getMoney(){
//    $a = 1;
//    $fun = function() use ($a){
//        echo $a;
//        $a++;
//    };
//    $fun();
//    echo $a;
//}
//getMoney();

//带&符号的可以改变,下例输出12
//function getMoney(){
//    $a = 1;
//    $fun = function() use (&$a){
//        echo $a;
//        $a++;
//    };
//    $fun();
//    echo $a;
//}
//getMoney();


//function getMoney(){
//    $a = 1;
//    $fun = function() use (&$a) {
//        echo $a;
//        $a++;
//    };
//    return $fun;
//}
//
//$getMoney = getMoney();
//$getMoney();
//$getMoney();
//$getMoney();

//函数嵌套 function funca(){ function funcb(){ echo 'aa'; } funcb(); } funca(); funcb();
原文地址:https://www.cnblogs.com/walter371/p/4535063.html