3.4.3 变量的作用域
变量并不同于常量,一旦定义,它的值可以随意被修改,后面的值会覆盖前面变量的值。变量有局部变量和全局变量之分,即作用域不同。局部变量只在当前函数体、当前脚本有效,而全局变量则是在当前脚本、当前脚本的函数体内均可以被访问。
【例3.11】变量的作用域。(https://www.daowen.com)

在函数foo里是无法访问外面定义的$foo变量的,在函数体里,访问的变量如果没有特别声明全局变量、静态变量,就只可访问函数体里面定义的变量。在函数外面访问定义的变量,亦是如此,当前脚本里面寻找它的定义,除非当前变量名在函数体里有特殊声明,如例子中声明的global全局变量,在当前脚本都有效,否则也是未定义。