在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/PHP/ php匿名函數(shù)變量作用域問(wèn)題

php匿名函數(shù)變量作用域問(wèn)題

圖片描述

如圖,如何更優(yōu)雅地訪問(wèn)匿名函數(shù)外的$data?

回答
編輯回答
網(wǎng)妓

function() use($data){}
更優(yōu)雅一些,但需要注意的是繼承過(guò)來(lái)的$data值與這個(gè)閉包聲明的上下文有關(guān)
例如:

[1]
$data = 1;
function() use($data){}//此時(shí)繼承的變量值為1
[2]
$data = 1;
function() use($data){}
$data = 2;
此時(shí)再調(diào)用閉包函數(shù),$data的取值為其聲明時(shí)的上下文的值,值為1
$data = 1;
$x = function() use ($data){
    var_dump($data);
    exit;
};
$data = 2;
function ttt($a)
{
    $a();
}
ttt($x);
2017年9月18日 00:56
編輯回答
擱淺

從父作用域中繼承變量 用use

function()use($data){}
2017年6月5日 12:45
編輯回答
陪她鬧

補(bǔ)充一下,global和$GLOBALS超全局變量也可以讀到外部定義的全局變量,了解一下

2018年4月21日 04:51