数据类型
PHP是一种弱类型语言,变量本身没有数据类型。
PHP八大数据类型
1.整数类型
$a1=100; //十进制
$a2=0b120; //二进制
$a3=0120; //八进制
$a4=0x120; //十六进制
2.浮点数类型
两种定义方式:
$f1=1.23;
$f2=1.23e10; //科学计数法
3.布尔类型
两个值:true和false 用于判断比较。
4.类型转换
1)两种转化方式:
- 自动转换:系统根据自己的需求判断,自己转化(用的较多、但效率较低)。
- 强制转换(手动):根据需要的类型进行转换 ——规则:在变量之前增加一个(),并在括号里面写上对于的类型。(NULL特殊,需用 unset)
2)转换规则:
1、以字母开头的字符串,永远为0;
2、以数字开头的字符串,取到碰到字符串为止。(不会同时包含两个小数点)
3)类型判断:
通过一组类型判断函数,来判断变量,最终返回这个变量所保存数据类型(相同true,失败false):
is_xxx (变量名);
bool类型不能用echo查看,可以使用var_dump结构查看
var_dump (变量1,变量2…);
注:还有一组函数可以用来获取以及设定数据(变量)的类型
gettype(变量名) 获取类型,得到的是该类型对应的字符串
settype(变量名,类型) 设定数据类型,与强制转换不同(这个会直接改变数据本身)
运算符
- 赋值运算符:“=”
- 算术运算符:“+” “-” “*” “/” “%”
- 比较运算符: “>” “>=” “<” “<=”
- “==” “!=”(比较大小)
- “===”(全等于:大小与数据类型都相同)
- “!==”(不全等于:大小或者类型不同)
- 逻辑运算符:“&&” “||” “!”
- 连接运算符:将多个字符串拼接到一起的一种符号
. :将两个字符串连接到一起
.= :复合运算,将左边的内容与右边的内容连接起来,重新赋值给左边变量
例: a .= b 相当于 a = a . b
三目运算符
1. 三目运算 :有三个表达式参与的运算(简单的分支结构缩写)
2. 语法格式:
表达式1?表达式2:表达式3;
自操作运算符:“++”“--”
$i = $g++; // $g = 1; $i = 0
$i = ++$g; // $g = 2; $i = 2;
衍生符号:类似自操作 “+=” “-=” “*=” “/=” “%=”(与c相似)
注:如果取余或进行除法运算,右边表达式要不为0(为0会出错)。
位运算:取出计算机中最小的单位(bit)进行运算
“&” (按位与,两个位都为1,结果为1,否则为0)
“ |” (按位或,两个位有一个为1,结果为1,否则为0)
“~” (按位取反,一个位如果为1则变为0,否则反之)
“^” (按位异或,两个相同为1,不同为0 )
“<<” (左移,整个位(32位)向左移动一位,右边补0)
“>>” (右移,整个位向右移动一位,左边符号位对应内容(正数补0,负数补1) )
注:
1、系统进行位运算时,均是利用补码进行运算的
2、运算结束之后,必须转换为原码进行显示
按位左移:乘以2的操作
按位右移:除以2的操作(不完全正确):整输除2会 出现小数