运算符
算术运算符
基础:
富豪有:+ - * / %
说明:
1.他们都是对数字进行运算
2.如果气门的两边有不是数字的数据,就会(自动)转换为数字
3.如果其中取余运算(取模运算)%,他只针对”整数”进行运算,会自动取为整数
11.3 % 3 相当于11 % 3
11.8%3.8 相当于11 % 3 不存在四舍五入
自增自减运算符:
常规:对数字进行自加1或自减1
字符串:只能自增,且自增的效果就是”下一个字符”,且只能针对字母或数字自加;
布尔值递增递减无效
Null递减无效,递增结果为1
自增示例:
$s1=”a” ; $s1++; //结果为 b
$s2=”A” $s2++; //结果为 B
$s3=”abc” $s3++; //结果为 abd
$s4=”xyz” $s4++; //结果为 xza
$s5=”xyzz” $s5++; //结果为 xzaa
$s6=”zzz” $s6++; //结果为 aaaa
$s7=”abc9” $s7++; //结果为 abd0
$s8=”9z” $s8++; //结果为 10a
前自增和后自增:
$s1=1; $s1++; //此行后s1=2
$s2=1; ++$s2; //此行后s2=2
//但是
echo “ $s1++”; //得到的结果为1 可以理解为先输出结果1的,然后运算自增自减
echo “++$s2”;//得到的结果为2 理解为先进行自增自减,然后输出结果2
通常我们在循环中,推荐使用前加加(效率更高一点);
比较运算符
符号:> >= < <= == != === !==
一般比较:是针对数字进行的大小比较
==和===:前者通常叫做模糊相等的比较,后者叫做精确相等的比较(只有数据的类型和数据的值/内容,都相等,才是全等),必须找到手册的类型比较表;
不要对浮点数直接进行大小比较
常见不同(标量类型)数据类型的比较
1.如果比较的数据中,有布尔值,转为布尔值你叫,布尔值比较只有一个规则:true>false
2.否则如果有数字值,就转为数字值比较:这就是常规比较
3.否则如果两边都是纯数字字符串,转为数字比较
4.否则就按字符串比较.字符串比较的规则是:
对两边的字符串,一个一个从前往后取出字符,谁先大,结果就是它大
“abc”>true //false
“abc”>false //true
“0”>false //false
3>”12” //false
3>”12abc” //false
“3”>”12” //false
“abc”>”c” //false 后者大
“abc”>”ab123cd” //true 这里“c”大于“1”
逻辑运算符
逻辑运算符都是针对“布尔值”进行的运算
如果不是布尔值,就会转换为布尔值进行
布尔值只有两个:true false
基本运算规则表:
逻辑与规则:
True && true ==》true
True && false ==》false
false && true ==》false
false && false ==》false
总结:只有2个都是true,结果才是true
只要有一个false,结果就是false
逻辑或规则:
True || true ==》true
True || false ==》true
false || true ==》true
false || false ==》false
总结:只有2个都是false,结果才是false
只要有一个true,结果就是true
逻辑非规则
!true ==>>false !false ==>>true
逻辑运算符的短路现象:
如果一个语句中,通过与运算需要进行多项判断,而且不同的判断具有明显不同的“复杂程度”,则我们应该将简单的判断放在前面,这时候我们就可以利用短路现象以达到提高效率的目的。
字符串运算符
1.符号只有一个: . 也衍生出另一个: .=
2.含义:就是讲这个符号两边的字符串连接起来
3.如果两边不是字符串,就会自动转换为字符串,然后连接起来
“ab” . 3 ==>>”ab3”
“12” . 3 ==>>”123”
12 . 3 ==>>”123”
赋值运算符:
一个基本赋值运算符: =
形式: $变量名 =值;
理解: 将右边的值(不管做了什么运算)赋给左边的变量。
若干个衍生的赋值运算符:
+= 加等 : 形式: $变量名 +=值;
理解 : 相当于 $变量名=值+$变量名
-= 加等 : 形式: $变量名 1=值;
理解 : 相当于 $变量名=$变量名-值
*= /= %= .= 其都可以认为是上述形式的一种简化版
条件运算符
只有一个,形式如下:
数据值1 ? 数据值2 :数据值3
含义:对数据值1进行判断,如果为“真”,则该运算符的运算结果就是数据值2,否则就是数据值3
位运算符
1.位是什么就是2进制数字的 每一个“位”,由32个位构成数组运算符
2.位运算符是仅仅针对整数进行的预算福
3.位运算符有如下几个:
a)&:按位与
b)|:按位或
c)~:按位非:按位取反;
d)^:按位异或;
位运算符的基本语法规则:
按位与基本规则:
1 & 1 ==>> 1
1 & 0 ==>> 0
0 & 1 ==>> 0
0 & 0 ==>> 0
按位与基本规则:
1 | 1 ==>> 1
1 | 0 ==>> 1
0 | 1 ==>> 1
0 | 0 ==>> 0
按位非基本规则:
~1 ==>> 0
~ 0 ==>> 1
按位异或基本规则:
1 ^ 1 ==>> 0
1 ^ 0 ==>> 1
0 ^ 1 ==>> 1
0 ^ 0 ==>> 0
理解:相同为0,不同为1
整数的按位与运算(&)
形式
$n1 & $n2; //n1,n2是两个任意整数
含义:将该2个整数的二进制数字形式(主义都是32位)的每一个对应位上的数字进行基本按位与运算之后的结果
整数的按位或运算(|)
形式
$n1 | $n2; //n1,n2是两个任意整数
含义:将该2个整数的二进制数字形式(主义都是32位)的每一个对应位上的数字进行基本按位或运算之后的结果
注意:他们运算的结果仍然是一个十进制整数
整数的按位左移运算
形式: $n1 << $m
含义:将十进制数字n1的二进制数字形式(也是32位的)的每一个位上的数字都一次性的往左边移动m位并将右边空出来的位置补0,左边出去的不管
|
|