php函数内外变量,php – 函数内具有函数的变量的范围?

Python中,您可以拥有以下内容:

def foo(param1,param2):

def bar():

print param1 + param2

bar()

我在PHP中遇到这种行为有些困难.

我希望这可以通过以下方式工作:

function foo($param1,$param2)

{

function bar()

{

echo $param1 + $param2;

}

bar();

}

但那失败了.所以我读了一些关于闭包的内容(这被称为闭包不是吗?它是在Python中,我知道).在php documentation中关于匿名函数(他们说已经实现为闭包),他们告诉你以下列方式使用use()表达式:

function foo($param1,$param2)

{

function bar() use($param1,$param2)

{

echo $param1 + $param2;

}

bar();

}

但那仍然失败.所以我把它改成了PHP-anonymous函数,就像这样:

function foo($param1,$param2)

{

$bar = function() use($param1,$param2)

{

echo $param1 + $param2;

};

$bar();

}

这确实有效,但它看起来真的很难看.我错过了什么吗?我可以用任何方式改进吗?或者我只需要使用’丑陋’的方式?

(我不是在寻找关于闭包是否有用的讨论)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值