这让我大吃一惊......
我有一个独立的PHP文件,以及一个带有全局变量的简单函数.
当我打电话echoVar()
什么都没有返回...但是如果我把$var
函数放在里面它将返回4.
这里发生了什么?$var
在这种情况下不应该是全球性的吗?
如果变量设置在函数外部,则在该函数内部不可见.要访问它,您必须使用global
关键字将其声明为全局.这称为范围.
<?php $var = 4; function echoVar() { global $var; echo $var; } echoVar();
注意:这通常被认为是不好的做法.阅读本文以获取更多信息.
一个很好的选择是将变量作为参数传递:
<?php $var = 4; function echoVar($var) { echo $var; } echoVar($var);