1.变量传值:将变量赋值给另一个变量
两种方式:值传递和引用传递
a.值传递:将变量保存的值复制一份,再将值传给另一个变量保存(两变量之间没有任何关系)
b.引用传递:将变量保存的地址传递给另一个变量;两个变量指向同一个地址。
2.常量的定义
常量:constant/const,不可改变的量
a.常量的定义形式:1.define(‘常量名’,常量值);
2. 5.3版本之后const 常量名= 值;
注意:1.常量不需要$符号,否则系统会自认为为变量
2.常量的名字由数字、字母、下划线组成,同时数字不能开头。
3.常量的名字通常以大写字母为主
4.常量的命名规则会比变量松散,可以使用特殊字符,但该方式只能用define定义
同时该方式的访问形式也比较特殊
例如:define(‘-_-’,'smile');
访问:1.普通常量:echo +常量名;
2.特殊字符:echo constant(‘-_-’);
5.define和const定义的常量是有区别的,在于访问权限的区别
3.系统常量:系统帮助用户定义的常量,用户可以直接使用
常用的系统常量:
PHP_VERSION:php版本号
PHP_INT_SIZE:整形大小
PHP_INT_MAX:整形能表示的最大值
_DIR_:当前被执行的脚本所在电脑的绝对路径
_FILE:当前被执行的脚本所在电脑的绝对路径(带自己的文件名字)
_LINE:当前所属行数
_NAMESPACE:当前所属的命名空间
_CLASS:当前所属类
_METHOD:当前所属的方法
输出方法直接echo +_DIR_;
4.八种数据类型
基础类型:整型、浮点型、字符串型、布尔类型(true、false)
复合类型:object对象类型、array数组类型
特殊类型:资源类型(存放php外部数据)、空类型:NULL
5.类型转换
1.自动转换:系统根据需求自己判断来转换
2.强制转换:比较常用的是转布尔类型和转数值类型
强制转换规则:在变量前面增加一个括号(),在里面写上对应类型:int/integer...
NULL类型用到unset()
其他类型转数值说明:
1.布尔true为1,false为0;
2.字符串有自己的规则
2.1以字母开头的字符串永远为0
2.2以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)
6.类型判断
判断数据的类型,最终返回这个变量所保存的数据的数据类型(相同结果为true,失败为false):是一组以is_开头后面跟类型名字的函数:is_XXX(变量名)
布尔类型不能用echo来查看,可以使用var_dump结构查看
var_dump(变量1,变量2.....)
例子var_dump(is_int($a)); 返回true或者false
还有一组函数可以用来获取以及设定数据(变量)的类型
Gettype(变量名):获取类型,得到的是该类型对应的字符串
Settype(变量名,类型):设定数据类型 转换成功会显示true
!与强制转换不同!
强制转换(类型)变量名:是对数据复制的内容进行处理(不会处理实际存储的内容)
settype会直接改变数据的本身
7.整型类型
php默认有符号类型(区分正负数)
php中提供了四种整数的定义方式:十进制、二进制、八进制、十六进制
!下次再补一下进制转换的方法
8.浮点型
小数类型以及超过整数所能存储范围的整数(不保证精度),精度的范围大概在15个有效数字左右。
a.定义方法:$f=1.23 $f=1.23e10(科学计数法,其中e表示底10)
9.布尔类型
主要两个值:true和false,通常用于判断
Empty():判断数据的值是否为空,不是NULL,空返回true,反之false
Isset():判断数据存储的变量本身是否存在,存在变量返回true,不存在返回false。
10.运算符
a.赋值运算符:‘=’ 变量的赋值
b.算数运算符:加减乘除取余 与C语言大致相同
!注意:取余需要保留余数 要两个整数取余且不为0
c.比较运算符:大于小于大于等于小于等于
‘===’全等于 左边和右边的大小和数据类型都相等
‘!==’不全等于 数据的大小或者类型有一个不同
!返回的结果都是布尔类型 真或假
d.逻辑运算符:且或非
输出不能使用echo 例如:var_dump(!($b=='good'));
!结果依然是布尔类型 真或假
11.连接运算符:将多个字符连接起来
a."."将两个字符连接起来(例如:$a.$b)
b.".="左边内容等于右边内容连接起来然后重新赋值给左边的变量(例如:A.=B、A=A.B)
12.错误抑制符
有一些错误会提前预知,但是错误无法避免,同时不希望系统会报错时使用错误抑制符。
‘@’:在可能会报错的表达式前加上@
使用方法:@(表达式);
13.三目运算符:有三个表达式参与的运算
表达式1?表达式2:表达式3
(如果表达式1成立则执行表达式2,否则执行表达式3)
!注意!三目可以进行复合三目运算
14.自操作运算符
就是自增或自减运算符、加等于减等于(与C语言大致相同不做过多的赘述)