PHP 变量的四大作用域
PHP 变量作用域
● local
● global
● static
● parameter
局部作用域、全局作用域
- <?php
- $x = 50; // 全局变量
- function myTest()
- {
- $y = 100; // 局部变量
- }
PHP global 关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,可以在函数中的变量前加上 global 关键字。
- <?php
- $x = 50;
- $y = 100;
- function myTest()
- {
- global $x, $y;
- $y = $x + $y;
- }
- myTest();
- echo $y; // 输出 150
PHP 将所有全局变量存储在一个名为 $GLOBALS 的数组中。
所以上述代码可以换一种写法:
- <?php
- $x = 50;
- $y = 100;
- function myTest()
- {
- $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
- }
- myTest();
- echo $y;
PHP Static 作用域
PHP 当一个函数完成时,它的所有变量通常都会被删除,为了有些局部变量不被删除,可以在第一次声明变量的时候使用 static 关键字。
- <?php
- function myTest()
- {
- static $x = 0;
- echo $x;
- $x++;
- echo PHP_EOL;
- }
- myTest();
- myTest();
- myTest();
参数作用域 (形参)
参数声明作为函数声明的一部分。
- <?php
- function myTest($x)
- {
- echo $x;
- }
- myTest('Galois');
- myTest(8888);
小补充:
打印数组方式:
- echo '<pre>';
- print_r($arr);