2022-03-11 19:43:22
在 PHP 中,全局变量可以在脚本的任何位置访问,但需注意作用域限制。以下是三种使用全局变量的方法及示例:
1. 使用 global 关键字在函数内部通过 global 关键字显式声明变量,使其指向全局作用域的同名变量。
<?php$global_var = 'Hello'; // 全局变量function print_global() { global $global_var; // 引入全局变量 echo $global_var; // 输出 "Hello"}print_global();?>注意:
$GLOBALS 是 PHP 预定义的关联数组,存储所有全局变量(键为变量名,值为变量值)。
<?php$global_var = 'Hello'; // 全局变量function print_global() { echo $GLOBALS['global_var']; // 直接访问全局变量,输出 "Hello"}print_global();?>优势:
通过函数返回全局变量的引用,允许直接修改原值。
<?php$global_var = 'Hello'; // 全局变量function &get_global() { return $GLOBALS['global_var']; // 返回引用}$ref = &get_global(); // 获取引用$ref .= ' World'; // 修改引用即修改全局变量echo $global_var; // 输出 "Hello World"?>关键点:
作用域隔离:PHP 函数默认无法直接访问全局变量,必须通过 global 或 $GLOBALS 显式引用。
代码维护性:全局变量可能导致意外的副作用,建议优先通过参数传递或返回值共享数据。
静态变量替代方案:若需在函数调用间保持状态,可考虑使用 static 局部变量:
function counter() { static $count = 0; $count++; echo $count;}counter(); // 输出 1counter(); // 输出 2合理选择方法,避免滥用全局变量以保持代码清晰。