在A.PHP中代码如下:
<?php $peoplename = “Lancelot” ?> |
在B.PHP中代码如下:
<?php Include_once “a.php” Function getName(){ Return $peoplename; } ?> |
调用B.PHP的getName()函数,并未如愿以偿的得到”Lancelot”,这其实是变量作用域的问题,在C语言中,一般来说,在函数外部定义的变量大都是全局变量,在函数内部无需声明即可使用,而在PHP中,为了防止全局变量被滥用,也防止全局变量被不小心改变,因此在函数内部的变量默认都是局部变量。
因此,在B.PHP中,如果要在getName()函数内部正确访问到变量$peoplename,需要如下写法:
<?php Include_once “a.php” Function getName(){ Global $peoplename; Return $peoplename; } ?> |
扩展开来,其实在A.PHP中,如果有函数要使用变量$peoplename,也应该采用如上的方法。
时间: 2024-10-14 18:53:35