function a()
{
$demi = '局部變量';
b($demi);
}
function b($args)
{
echo $args;
}
a();
PHP中的所有函數(shù)和類都具有全局作用域,可以定義在一個函數(shù)之內(nèi)而在之外調用,反之亦然。
為什么函數(shù)b能夠通過傳參方式獲取函數(shù)a的局部變量?
function tesxt()
{
$var = 10;
$echonumber = function($num) {
echo $num;
};
$echonumber($var);
}
tesxt();
同樣,匿名函數(shù)為什么也是通過傳參方式來獲取外部函數(shù)的變量?
其實是這樣的。當你調用函數(shù)的時候,你傳的參數(shù)其實是一個副本,值復制,相當于另外一個變量,沒有任何關系。
同理匿名函數(shù)也是一樣的。但是你如果想要在匿名函數(shù)中使用外部變量,是無法訪問的。