数据类型划分
1.标量类型: int float string bool
2.复合类型:array object
3.特殊类型:null resource
整数类型:(int integer)
三种进制表示法:
1.十进制:123
2.八进制:0123
3.十六进制:0x123
进制的转换:十进制转二进制decbin(),除2取余倒着写
进制的英文单词
dec: 十进制
bin:二进制
oct:八进制
hex:十六进制
php进制转换函数:decbin(十进制转2进制)(其他转换以此类推)
注意:十进制转为其他进制结果是字符串,其他进制转为十进制要求给定数据是字符串形式
浮点类型:float document real
字符串类型:string
单引号:输出引号的内容不转义
双引号:输出引号的内容并转义(解读引号中的内容)
布尔类型:bool boolean
数组类型:array
定义$v1=array(1,2,3,4);
对象类型:object
资源类型:resource 基本上都是指对外部数据的引用。(数据非php代码生成的)
空值类型:null
与数据类型相关的常用函数
var_dump():能够输出一个变量的完整信息
getType():获取一个变量的类型名称,结果是一个字符串
setType():设置一个变量的类型 setType(变量名,目标类型)
isset()判断一个变量是否存在数据
empty()判断一个数据是否为空
unset():删除一个变量
运算符:
null递减无效,递增结果为1
字符串合并运算:使用.
三目运算符:
数据1 ? 数据2 :数据3
位运算符:位运算符都是针对整数的二进制数字形式而进行的
按位与运算基本规则(规则表):
1 & 1 ==> 1
1 & 0 ==> 0
0 & 1 ==> 0
0 & 0 ==> 0;
3, 按位或运算基本规则
1 | 1 ==> 1;
1 | 0 ==> 1;
0 | 1 ==> 1
0 | 0 ==> 0
4,按位非运算:
~ 1 ==> 0
~ 0 ==> 1
5,按位异或运算:
1 ^ 1 ==> 0
0 ^ 0 ==> 0
1 ^ 0 ==> 1
0 ^ 1 ==> 1
规律:相同就是0,不同就是1
按位左移运算:<<
A << n; //A是一个要被移动的数字,同样可以是普通数字,但按二进制去运算,n是一个指定要移动
按位右移运算:>>
A >> n; //A是一个要被移动的数字,同样可以是普通数字,但按二进制去运算,n是一个指定要移动
原码 反码 补码
原码:就是“原来的二进制码”
反码:正数的反码是其本身。
补码:正数的补码是其本身。
数组运算符
注意:php中,数组的元素的顺序,不是由下标(键名)决定的,而是完全由加入的顺序来决定。
联合(+):将右边的数组项合并到左边数组的后面,得到一个新数组。如有重复键,则结果以左边的为准
例:
$v1 = array(1, 2,3, 4);
$v2 = array(5,6,7,8,9);
$r1 = $v1 + $v2; //结果只能是:array(1,2,3,4,9)
运算符的优先级
- 要意识到运算符有优先级问题
- 括号最优先,赋值最落后(通常)
- 先乘除后加减
大致:算术运算符〉比较运算符〉逻辑运算符(除了“非”运算)
if语句
if else 语句:
if(条件判断){
//分支1
}
else{
//分支2;
}
switch语句:
switch(一个数据$v1){ //判断此v1变量跟下面的某个是否相等,如果相等,则进入对应进程。
case 状态值1:
//进程1
[break;]
case 状态值2:
//进程2
[break;]
case 状态值3:
//进程3;
[break;]
。。。。。。
[default :
//默认进程。
]
}
循环语句
$v1 = 10; //初始化循环变量
while( $v1〉4 ){ //判断循环变量的条件
//语句快
echo “abc”;
$v1--;
}
do{
//循环体
}while(条件判断);