function a()
{
$demi = '局部變量';
b($demi);
}
function b($args)
{
echo $args;
}
a();
Alle Funktionen und Klassen in PHP haben einen globalen Geltungsbereich und k?nnen innerhalb einer Funktion definiert und au?erhalb aufgerufen werden und umgekehrt.
Warum kann Funktion b die lokalen Variablen von Funktion a durch übergabe von Parametern erhalten?
function tesxt()
{
$var = 10;
$echonumber = function($num) {
echo $num;
};
$echonumber($var);
}
tesxt();
Und warum erhalten anonyme Funktionen auch Variablen externer Funktionen durch übergabe von Parametern?
其實(shí)是這樣的。當(dāng)你調(diào)用函數(shù)的時(shí)候,你傳的參數(shù)其實(shí)是一個(gè)副本,值復(fù)制,相當(dāng)于另外一個(gè)變量,沒有任何關(guān)系。
同理匿名函數(shù)也是一樣的。但是你如果想要在匿名函數(shù)中使用外部變量,是無(wú)法訪問的。