PHP 匿名函数和回调函数的使用

PHP 匿名函数和回调函数的使用

开发环境

  • phpstorm 2016.1
  • php 5.6
  • Mac OS 10.12.1

代码

<?php
header('content-type:text/html;charset=utf-8');

//声明函数swap,作为下面匿名函数的回调函数
function swap(&$x, &$y)
{
    $temp = $x;
    $x = $y;
    $y = $temp;
    return;
}

//call_user_func_array调用的回调函数
function add($a, $b)
{
    return $a + $b;
}

//匿名函数,即不声明函数名称而使用一个变量来代替函数声明
$fuc = function ($fucName) {
    $x = 1;
    $y = 2;
    //调用回调函数
    $fucName($x, $y);
    echo 'x=' . $x . ',y=' . $y;
    echo '<br>';
    $arr = array($x, $y);
    //与$fucName($x, $y)相同效果
    //这里无法调用swap方法,因为swap方法是对参数引用传值
    //与call_user_func_array都无法调用引用传参形式的函数
    echo call_user_func('add', $x ,$y);
};

//调用方式
$fuc('swap');

输出结果

x=2,y=1
3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alex-Leung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值