1. PHP+
号运算,字符串转换规则
① 如果字符串以数字开头且和字母(或符号)搭配,那么会舍弃字母(或符号)部分直接转换为开头的数字。例如,“24thiz”转换后得到24。
② 如果字符串开头加数字,那么字符串转换成整型得0。例如,“abc110”得到的是0。
③ 如果是数字0开头或以数字0开头和字母(或符号)搭配的字符串,那么转换时,开头的0会被舍弃。例如,“05abc”和“05”转换成数字都是得到5。
2.字符串运算符.
和算数运算符+
.
是字符串连接运算符;+
为加法算数运算符,也可用于合并数组
两个字符串使用+
运算符:
① 如果
+
两边的字符串是由数字组成的,会将字符串自动转为整型
② 若两边是纯粹的字母,则结果为零
③ 若两边字符串以数字开头,则截取开头的数字进行运算
注意:.
运算符会优先执行函数,如下代码输出结果为20myfunc(10)=
<?php
function myfunc($argument){
echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable)=".myfunc($variable);
3. 递增递减运算符
前置递增递减运算符 ++$i
、--$i
先执行运算再返回值
后置递增递减运算符$i++
、$i--
先返回值再执行运算
- 前置递增递减的运行效率高于后置
- 递增/递减 不影响布尔值
- 递减null 没有效果
- 递增null 为 1
4. 逻辑运算符
且运算符&&
、或运算符||
短路作用:
<?php
$a = 0;
//此处$a 转换为false,由于短路作用 &&后面的表达式不执行
$a && $a = 2;
5. 运算符优先级
递增/递减 >
!
> 大小比较 > (不)相等比较 > 引用 > 位运算符(^)> 位运算符(|)> 逻辑与 > 逻辑或 > 三目 > 赋值 > and > xor > or
建议使用()增加可读性
6. 位运算符
位与运算符
&
,$a&$b
表示把$a
和$b
中都为1的位设为1
位或运算符|
,$a|$b
表示把$a
和$b
中为1的位都设为1
位异或运算符^
,$a^$b
表示把$a
和$b
中值不同的位设为1
左位移运算符<<
,$a<<$b
表示把$a
中的位向左移动$b
位(每移动1位代表乘以2)
右位移运算符>>
,$a>>$b
表示把$a
中的位向右移动$b
位(每移动1位代表除以2)
网友评论