一、PHP变量
PHP变量,是一种在PHP脚本运行周期内(从一个脚本的第一行代码执行到最后一行执行完成),系统通过指定的标识符,以
$
符号开始。
1. 命名规则
- 必须以
$
符号开始 - 由字母、数字和下划线组成
- 变量严格区分大小写
- 不能以数字开头
- 复杂的复合命名变量可以使用下划线法或小驼峰法
2. 变量使用
PHP是一种弱类型语言,变量定义可以直接使用,且不用管实际赋值给变量的数据是什么类型。
<?php
//定义变量
$str = 'hello word';
//访问变量
echo $str;
//修改变量
$str = 123;
//查看变量详情
var_dump($str);
//删除
unset($str);
3. 变量的生命周期
- 人为删除
unset
- 脚本执行结束(最后一行代码执行完毕)
4. 预定义变量
系统定义的变量:均为大写,通常是数组数据。
预定义变量 | 描述 |
---|---|
$GLOBALS | 引用全局作用域中可用的全部变量,也是唯一一个不是以下划线开始的预定义变量 |
$_SERVER | 服务器和执行环境信息 |
$_GET | 用户通过 GET 方式提交的数据 |
$_POST | 用户通过 POST 方式提交的数据 |
$_REQUEST | 用户通过 GET 和 POST 提交的数据 |
$_FILES | 用户提交的文件 |
$_SESSION | Session 数据 |
$_ENV | 环境数据 |
$_COOKIE | Cookies 数据 |
5. 变量传值
- 值传递:把变量的值赋值给另外一个变量,但两个变量互不影响。
- 引用传递:把变量所指向的数据的内存地址赋值给另外一个变量,任何一个的修改都会影响到另外一个变量。变量前加
&
<?php
//定义变量
$a = 10;
//取a变量代表的值,重新存储一份
$b = $a;
//取a变量保存的内存地址,两个变量存储一个内存地址
//引用传递
$c = &$a;
echo $a,'~',$b,"~",$c,'<br/>';
//改变变量
$b = 100;
$c = 'abc';
echo $a,'~',$b,"~",$c;
二、PHP常量
1. 常量命名规则
- 常量名通常用大写字母表示
- 常量名不需要使用
$
符号开始 - 通常由字母、数字、下划线组成
- 使用下划线法表示
2. 常量使用
通常使用 define 函数和 const 关键字,而且必须在定义的时候就对其赋值。
<?php
//定义常量
define("-_-", "smile");
const PI_3 = 3;
//访问常量
echo PI_3;
//所有常量都可以使用constant
echo constant('-_-');
3. 系统常量
常量 | 描述 |
---|---|
PHP_VERSION | PHP版本号 |
PHP_INT_MAX | 整形能表示的最大值 |
PHP_INT_SIZE | 整形的字节数大小 |
4. 魔术常量
允许变化,但是允许随意变化,不允许程序员控制。
常量 | 描述 |
---|---|
__DIR__ | 当前执行脚本的绝对路径(不带当前脚本的文件名) |
__FILE__ | 当前执行脚本的绝对路径(带当前脚本的文件名) |
__LINE__ | 当前所属的行数 |
__NAMESPACE__ | 当前所属的命名空间 |
__CLASS__ | 类内部使用,当前所属的类名 |
__METHOD__ | 类内部方法里使用,当前所属的方法名 |
__FUNCTION__ | 函数内部使用,当前所属的函数名 |