PHP变量是以$开头的动态类型内存标识符,用于存储、传递和间接引用数据;支持自动类型推断与运行时变更,通过作用域控制可见性,并提供可变变量、引用赋值及超全局变量等高级特性。

一、存储与操作数据的基本容器
PHP变量是程序中用于临时存放数据的内存标识符,其核心作用是为各类数据(如字符串、数字、布尔值、数组、对象等)提供可读、可复用的引用入口。变量使开发者无需重复书写原始值,即可在脚本不同位置多次读取、修改或参与运算。
1、声明变量时以美元符号($)开头,后接合法标识符,例如 $username、$is_active;
2、变量类型由赋值内容自动推断,无需预先声明,如 $count = 42 被识别为整型,$message = "Hello" 被识别为字符串;
3、同一变量可在运行中被重新赋值,类型随之动态变更,例如后续执行 $count = "done" 后,$count 即变为字符串类型。
立即学习“PHP免费学习笔记(深入)”;
二、实现数据在不同作用域间的可控传递
变量通过作用域机制控制其可见性与生命周期,从而支撑模块化逻辑设计与资源安全隔离。全局变量可在脚本任意位置访问,局部变量仅限函数内部使用,静态变量则在多次函数调用间保持状态,三者协同构成清晰的数据流转边界。
1、在函数外定义 $config = ['host' => 'localhost'],即创建全局变量,但默认不可在函数内直接使用;
2、若需在函数内访问该变量,必须显式声明 global $config,否则会触发 Undefined variable 警告;
3、在函数内使用 static $retry_times = 0 声明静态变量,每次调用该函数时 $retry_times 的值不会重置,而是延续上一次结束时的状态。
三、支持动态构建与间接引用场景
PHP允许通过可变变量(variable variables)和引用赋值(reference assignment)实现运行时名称解析与内存地址共享,适用于配置驱动、模板渲染、回调调度等高级用例。
1、可变变量通过双美元符号实现间接命名,例如先赋值 $key = "status",再执行 $$key = "active",等价于 $status = "active";
2、引用赋值使用 & 符号,使两个变量指向同一内存地址,例如 $a = 10; $b = &$a;,随后修改 $b = 20 将同步改变 $a 的值;
3、超全局变量(如 $_GET、$_POST、$_SESSION)无需声明即可在任何作用域中直接读写,是处理HTTP请求与用户会话的核心载体。










