function a()
{
$demi = '局部变量';
b($demi);
}
function b($args)
{
echo $args;
}
a();
Semua fungsi dan kelas dalam PHP mempunyai skop global dan boleh ditakrifkan dalam fungsi dan dipanggil di luar, dan sebaliknya.
Mengapa fungsi b boleh mendapatkan pembolehubah tempatan fungsi a dengan melepasi parameter?
function tesxt()
{
$var = 10;
$echonumber = function($num) {
echo $num;
};
$echonumber($var);
}
tesxt();
Begitu juga, mengapakah fungsi tanpa nama juga memperoleh pembolehubah fungsi luaran melalui hantaran parameter?
Begitulah sebenarnya. Apabila anda memanggil fungsi, parameter yang anda lalui sebenarnya adalah salinan, dan nilainya disalin, yang bersamaan dengan pembolehubah lain dan tidak mempunyai hubungan.
Begitu juga dengan fungsi tanpa nama. Tetapi jika anda ingin menggunakan pembolehubah luaran dalam fungsi tanpa nama, ia tidak boleh diakses.