匿名函数常见用法

<?php
function fun1()
{
    $fun2 = function ()
    {
        echo 'hello, world';
    };

    $fun2();
}

fun1(); // 输出结果:hello, world

<?php
function fun1()
{
    $name = '张三';
    $age  = 18;

    $fun2 = function () use ($name, $age)
    {
        echo "俺叫{$name},俺今年{$age}岁。";
    };

    $fun2();
}

fun1(); // 输出结果:俺叫张三,俺今年18岁。

<?php
function fun1()
{
    $name = '张三';
    $age  = 18;

    $fun2 = function () use (&$name, &$age)
    {
        $name = '李四';
        $age  = 19;
    };

    $fun2();

    echo "俺叫{$name},俺今年{$age}岁。";
}

fun1(); // 输出结果:俺叫李四,俺今年19岁。

 

<?php
function fun1($age)
{
    $name = '张三';

    $fun2 = function ($age) use ($name)
    {
        echo "俺叫{$name},俺今年{$age}岁。";
    };

    $fun2($age);
}

fun1(18); // 输出结果:俺叫张三,俺今年18岁。
fun1(19); // 输出结果:俺叫张三,俺今年19岁。
fun1(20); // 输出结果:俺叫张三,俺今年20岁。

Copyright © 2024 码农人生. All Rights Reserved