【PHP学习】 匿名函数的六个使用技巧-php教程

资源魔 32 0
本篇文章次要讲述的是匿名函数的六个应用技术,具备肯定的学习代价,感兴味的冤家能够学习一下。

以前写过一篇闭包的应用(点击此处进入),此次深化汇总下php中匿名函数的深化用法以及了解:

php中的匿名函数 也叫闭包函数 容许指定一个不称号的函数。把匿名函数赋值给变量,经过变量来挪用,举个简略的例子:

<?php$anonymousFunc = function($username){    
    echo $username;
  };
  $anonymousFunc("乔峰!");

技术1: 将匿名函数放正在一般函数中,也能够将匿名函数前往,:这样就形成了一个简略的闭包

<?php
function closureFunc(){
    $anonymousFunc = function(){
        echo "乔峰!";
    };
    $anonymousFunc();//一般函数外部挪用了匿名函数
}
closureFunc();//输入: 乔峰

技术2 正在匿名函数中援用部分变量(这里要援用一个php的要害字 use)

<?php

function closureFunc(){
    $username = '乔峰';
    $anonymousFunc = function() use($username){
        echo $username;
    };
    $anonymousFunc();//此处挪用了匿名函数
}
closureFunc();//输入: 乔峰

技术3 正在一般函数中前往匿名函数

<?php

function closureFunc(){
    $username = '乔峰';
    $anonymousFunc = function() use($username){
        echo $username;
    };
    return $anonymousFunc;// 函数前往匿名函数
}
$func = closureFunc();
$func(); //而后挪用$func()

技术4 前往匿名函数并给匿名函数传参

<?php

function closureFunc(){
    $username = '乔峰';
    $anonymousFunc = function($lover,$skill) use($username){
        echo $username.$lover.$skill;
    };
    return $anonymousFunc;
}
$func = closureFunc();
$func("阿朱","擒龙手");//乔峰阿朱擒龙手

技术5 应用闭包扭转上下文援用的变量值

<?php

function closureFunc(){
    $number = 100;
    $anonymousFunc = function() use($number) {
        $number++;
        echo $number.PHP_EOL;
    };
    echo $number.PHP_EOL;
    return $anonymousFunc;
}
$func = closureFunc();// 这里输入1,间接挪用本函数的 echo $number.PHP_EOL; 即为100
$func();// 挪用函数的前往值 $anonymousFunc  $number++ 即为101
$func(); //101
$func();//101

下面的输出后果,发现前面的两个func()均前往 101,值并未发作扭转,假如要累积++成果, 只需加一个 & 援用符号就能够了(匿名函数内的修正也会影响内部变量),修正下:

<?php

function closureFunc(){
    $number = 100;
    $anonymousFunc = function() use(&$number) {
        $number++;
        echo $number.PHP_EOL;
    };
    echo $number.PHP_EOL;
    return $anonymousFunc;
}
$func = closureFunc();// 这里输入1,间接挪用本函数的 echo $number.PHP_EOL; 即为100
$func();// 挪用函数的前往值 $anonymousFunc  $number++ 即为101
$func(); //102
$func();//103

技术6 把匿名函数当做参数通报

<?php
//界说一般函数,anonymousFunc 为参数变量
function myFunc($anonymousFunc){
    $anonymousFunc("乔峰");
}

myFunc(function($username){ //这里挪用一般函数,并把 匿名函数作为参数 传给了myFunc中的$anonymousFunc
    echo $username;
});//输入 乔峰

相干教程:PHP视频教程

以上就是【PHP学习】 匿名函数的六个应用技术的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学 匿名函数

抱歉,评论功能暂时关闭!