变量
变量声明
语法:$变量名 = 值
PHP的特性之一就是它不要求使用变量之前声明变量,当第一次给一个变量赋值时,你才创建了这个变量
变量销毁
语法:unset($变量名);
变量命名
- 变量名严格区分大小写
- 变量名由字母或下划线开头
- 不建议使用系统关键字,但可以使用
变量的引用赋值
<?php
$a = 999;
$b = $a; //相当于把a的值复制一份再赋值给b
$b = 111;
echo $a; //999
echo $b; //111
// ---------变量的引用赋值-----------------------
$x = 333;
$y = &$x; //相当于给x起了一个别名,操作其中任何一个,都会影响到另外一个变量的值
$y = 777;
echo $x; //777
echo $y; //777
?>
变量类型
php是弱类型语言
语法:var_dump(变量名)
:输出变量的类型
bool
:布尔型int
:整型float
:浮点型string
:字符串;单引号和双引号有区别;单引号内有变量名时直接输出,双引号内有变量名时,会寻找该变量,如需输出使用{ }包括在内;
使用定界符定义字符串
<?php
//aaa是自定义标识符
$a = <<< aaa
test.....
aaa;
var_dump($a);
echo $a;
?>
array
:数组object
:对象resource
:资源NULL
:空
强制类型转换
在要装换的变量之前加上括号括起来目标类型;转换并不会改变被转换变量本身的类型
<?php
// ----强制类型转换----------
$a="99999";
$b = (int)$a;
var_dump($a);
echo $a;
var_dump($b);
echo $b;
?>
常量
常量是一个简单值的标识符,如其名所暗示的,在我们PHP脚本执行期间一个常量一旦被定义,就不能被改变或者取消定义,常量的作用域是全局,常量只能包含bool、int、float、string类型的数据
常量定义
语法:define(‘常量名称’, 常量值);
:按照惯例常量标识符总是大写
defined()
:检查是否定义了某个常量
<?php
define("MY_NAME", "苦涩");
echo MY_NAME;
?>
常量命名
常量命名与变量类似,也遵循PHP标识符的名称规则
常量和变量的区别
- 常量名前面没有美元符号$
- 常量只能用define()函数定义,不能用通过赋值语句
- 常量可以不用理会变量范围的规则而在任何地方定义和使用
- 常量一旦被定义就不能被重新定义或取消定义
- 常量的值只能是bool、string、int、float类型
预定义常量
- 预定义常量就是PHP内核已经帮我们定义好了的常量,可以直接使用
- 预定义常量是以 __ 开头的,这些预定义常量我们又叫魔术常量,因代码所在的位置不同,它的值也是不同的,所以它叫魔术常量
- 预定义常量不区分大小写
运算符
对变量或数据进行某种运算
算术运算符
+
:加号-
:减号、取反,取反不会影响到被取反变量本身的值*
:乘号/
:除号%
:取模,取余数++
:自增--
:自减
字符串运算符
.
:连接运算符
赋值运算符
作用:将右边的值赋值给左边变量
=
+=
-=
*=
=
/=
%=
.=
比较运算符
比较结果为true或false
==
:值是否相等===
:全等,值和类型是否都相等!=
:值是否不相等<>
:值是否不相等!==
:全不等,值和类型是否全不等<
:小于>
:大于<=
:小于等于>=
:大于等于
逻辑运算符
and 或者 &&
:与or 或者 ||
:或not 或者 !
:非xor
:异或,左右两边的布尔表达式的值不一样的时候结果就是true
其他运算符
表达式1 ?表达式2 : 表达式3
:三元运算符``
:可以把系统的命令放在里面执行@
:屏蔽表达式可能发生错误