PHP:变量与常量

3.1 什么是变量?

想象变量是一个"盒子",你可以往里面放东西,随时可以拿出来用,也可以换掉里面的东西。

3.2 变量的定义

PHP变量以$符号开头!

代码示例

<?php
// 定义一个变量,存储名字
$name = "小明";

// 定义一个变量,存储年龄
$age = 18;

// 输出变量
echo "我的名字是:" . $name;
echo "<br>";
echo "我的年龄是:" . $age;
?>

代码注释

  • $name 是变量名
  • = 是赋值符号(不是等号!)
  • "小明" 是变量的值
  • "." 用来拼接字符串

运行说明

  1. 保存为 variables.php
  2. 访问 http://localhost/variables.php
  3. 会看到输出:
    我的名字是:小明
    我的年龄是:18
    

3.3 变量命名规则

变量名不能随便起,要遵守规则:

正确示例

<?php
$name;        // 字母开头
$myName;      // 驼峰命名(推荐)
$my_name;     // 下划线命名
$user123;     // 可以包含数字
$_private;    // 可以下划线开头
?>

错误示例

<?php
// $123abc;    // 错误:不能数字开头
// $my-name;   // 错误:不能有横线
// $my name;   // 错误:不能有空格
?>

命名建议

  • 使用有意义的名字:$userName$a
  • 推荐驼峰命名法:$myFirstName
  • 或者下划线法:$my_first_name
  • 不要用中文变量名

3.4 变量可以变!

变量的"变"就是值可以随时修改:

代码示例

<?php
$x = 10;
echo $x;  // 输出 10

$x = 20;  // 重新赋值
echo $x;  // 输出 20

$x = $x + 5;  // 用自己的值计算
echo $x;  // 输出 25
?>

运行说明

变量就像一个黑板,可以擦掉重写!


3.5 什么是常量?

常量也是一个"盒子",但一旦放了东西,就不能改了!

代码示例

<?php
// 定义常量(推荐方式,PHP 7+)
define("PI", 3.14159);

// 或者使用 const(类内部用得更多)
const MAX_AGE = 120;

// 使用常量
echo "圆周率是:" . PI;
echo "<br>";
echo "最大年龄是:" . MAX_AGE;
?>

常量特点

  • 不需要$符号
  • 习惯上全大写,用下划线分隔
  • 定义后不能修改,不能删除
  • 通常用于存储不会变的值,如配置

3.6 可变变量(了解即可)

PHP有个有趣的特性:变量的变量名也可以是变量!

代码示例

<?php
$a = "hello";
$$a = "world";  // 相当于 $hello = "world";

echo $a;        // 输出 hello
echo "<br>";
echo $hello;    // 输出 world
echo "<br>";
echo $$a;       // 也输出 world
?>

3.7 预定义变量(超全局变量)

PHP已经帮我们定义好了一些常用变量,随时可以用!

代码示例

<?php
echo "<pre>";

// 1. $_SERVER - 服务器和执行环境信息
echo "当前脚本路径:" . $_SERVER['PHP_SELF'] . "<br>";
echo "用户浏览器:" . $_SERVER['HTTP_USER_AGENT'] . "<br>";
echo "访问者IP:" . $_SERVER['REMOTE_ADDR'] . "<br>";

// 2. $_GET - 获取URL传递的参数
// 访问 test.php?name=小明 时
// echo "名字:" . $_GET['name'];

// 3. $_POST - 获取表单提交的数据
// 4. $_REQUEST - 同时包含GET和POST
// 5. $_SESSION - 会话数据
// 6. $_COOKIE - Cookie数据
// 7. $_FILES - 上传的文件

echo "</pre>";
?>

本章代码汇总

<?php
// 第3章完整示例

echo "<h3>1. 变量基础</h3>";
$name = "小明";
$age = 18;
echo "姓名:" . $name . "<br>";
echo "年龄:" . $age . "<br>";

echo "<h3>2. 变量重新赋值</h3>";
$x = 10;
echo "x初始值:" . $x . "<br>";
$x = 20;
echo "x修改后:" . $x . "<br>";

echo "<h3>3. 常量</h3>";
define("PI", 3.14159);
const MAX_VALUE = 100;
echo "PI = " . PI . "<br>";
echo "MAX_VALUE = " . MAX_VALUE . "<br>";

echo "<h3>4. 超全局变量</h3>";
echo "当前脚本:" . $_SERVER['PHP_SELF'] . "<br>";
echo "请求方法:" . $_SERVER['REQUEST_METHOD'] . "<br>";
?>

本章小结

✅ 变量以$开头
✅ 会定义和使用变量
✅ 知道变量可以改变
✅ 会用define定义常量
✅ 了解超全局变量

下一章,我们学习数据类型!

更多推荐