常量
1、常量,顾名思义是一个常态的量值
2、常量在脚本执行期间始终不变的量
3、常量的定义与使用
//定义一个常量
define('NAME','wuhen');
//使用一个常量
echo NAME;//输出结果wuhen
echo "<br>";
//判断常量是否被定义
var_dump(defined('NAME'));//结果为bool(true)
变量
1、变量就是用于临时存储值的一个容器,比如数字、文本字符、或者数组等
2、变量的定义
在PHP中,变量采用美元符号($)加一个变量名的方式本表示,PHP中不需要显示声明变量。
3、命名规则
- 变量名必须以字母或下划线“_”开头
- 变量名只能包含字母、数字、下划线
- 变量名不能包含空格
- PHP是弱类型检查语言,因此变量在使用前不需要预先定义,也无须指定数据类型
4、变量赋值
传值赋值:使用“=”直接将赋值表达式的值赋给另一个变量
引用赋值:将赋值表达内存空间的引用赋值给另一个变量
5、变量的销毁
使用 unset()函数
6、判断变量是否存在
使用isset()函数
//定义一个变量
$a;
//传值赋值
$a = 5;
//引用赋值
$b = &$a;//把$a的地址传给$b
$b = 6;
echo $a;//结果为6
//引用赋值,改变$b等于是改变$a
//销毁变量
unset($a);
//判断变量是否存在
var_dump(isset($a));//结果为bool(false),说明$a不存在已经被销毁
变量的作用域
1、局部变量
在函数内部声明的变量,其作用域是所在函数。它保存在内存的栈中,所以速度很快
2、全局变量
- 与局部变量相反,全局变量可以在程序的任何地方访问
- 被定义在所有函数以外的变量,其作用域整个PHP文件
- 函数内部使用全局变量,在变量前加上关键字global声明或使用$GLOBAL[’’]访问
//全局变量
$a = 1;
function fnc(){
//引用全局变量
global $a;
echo $a;
$a = $a+1;
//使用全局变量数组引用
echo $GLOBALS['a'];
}
fnc();//结果为1 2
3、静态变量
- 静态变量是一种特殊的局部变量,静态变量只存在于函数作用域内
- 函数结束后还存在于栈中,不会被销毁
- 在变量前加上关键字static,该变量成为静态变量
//静态变量
function fnc(){
//定义一个静态变量
static $count = 1;
echo $count;
$count += 1;
}
fnc();//结果为1
fnc();//结果为2
//说明静态变量$count,没有随着函数的结束而销毁
可变变量
- 可变变量是指使用一个变量的值作为这个变量的名称
- 变量名可以被动态地命名和使用
- 语法采用两个美元符号$来进行定义,或者使用{}包裹起来
//可变变量
$a = 'b';
$b = 'abcde';
echo $b;
echo $$a; //相当于$b
echo ${$a}; //相当于$b
//结果都是 abcde