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);