php学习--运算符(三)

前言:php的运算符与C语言比较,相似的地方有很多,相差的地方也很大啊!

目录:
0×01:算数运算符
① +
就是1+1=2;

$a=1;
$b=2;
$c=$a+$b;
echo $c;

② ➖
1.单纯的减号

$a=10;
$b=2;
$c=$a-$b;
echo $c;

2.取反

$a=1;
$b=-$a;
echo $b; //-1
echo <br  />;
echo  $a;   //1

③ * 乘号

$a=3;
$b=4;
$c=$a*$b;
echo $c;

就是简单的乘号。
④ / 除号

$a=10;
$b=2;
$c=$a/$b;
echo $c;

⑤ – ,++运算

 ++$a;
  --$a ;

就是先自增或者自减,让后$a参与运算。

$a--;
$a++;

就是先让$a参与运算,让后进行自增或者自减。

注意:

$a=10;
   ++$a;
 echo $a;

这种情况 ++$a$a++都没有参与数值运算,情况相同,数值相同。

0×02:字符串运算符

PHP中的字符串运算符只有一个.,也成为连接运算符。

0×03:赋值运算符

=,+=,*=,-=,/=,%=,.=  等等

二元运算符:
左边的操作数必须是变量,右边的可以是一个表达式,一个值,一个变量等等。

①=:
即赋值(不同于数学里的等于),即将等号右边的值赋给左边的变量。

+=:$a+=$b;  //$a=$a+$b;
-=:$a-=$b;    //$a=$a-$b;
*=:$a*=$b;  //$a=$A*$b;
/=:$a/=$b;   //$a=$S/$b;
%=:$a%=$b;   //$a=$a%$b;   取余
.=:$a=$b;    //$a=$a.$b

0×04:比较运算符

==,===,!=, <> , !== , < , > , <= , >=等等

概念:对操作数进行比较,满足条件即为true,否则为false。

PHP规定:
使用echo输出布尔类型值的时候;
echo true ; 显示结果为1
echo false; 显示为空白
如果我们要输出布尔类型值的时候,我们最好使用var_dump()输出的结果更明了!
①== (值相等)

$a==$b;
var_dump($a==$b)

值相等为true,不相等为false。

②=== (值相等,类型也要相等)

$a=11;
$b='11';
var_dump($a==$b);  //true
echo <br     />;
var_dump($a===$b);    //false

③!= ,<>(值不相等)

$a=1;
$b=2;
var_dump($a!=$b);  //true

④ !== (不全等)
值或类型有一个相等的就可以。

⑤< , > , < = , >= ;
这个就是和数学里的一样,没必要细说。
0×05:逻辑运算符
概念;对表达式进行逻辑运算,运算出来的结果是布尔类型的值(trure,false),要求参与运算的值是布尔类型的,否则会被强制转换让后参与运算。
以下值被认为false,其他的值都是被认为true。
布尔值false
0
浮点型0.0
空白字符串和字符串0
没有成员的数组
NULL

①and && (逻辑与)
只有两边同时为true时,最后的结果才为true。

②or || (逻辑或)
两边有一个为true时,最后的输出结果为true。也即是两边同时为false时,才能为false。

③xor (逻辑异或)
左右两边的值不一样是结果为true,一样时为false。

④ ! 逻辑非
将原表达式的值否定掉,true变成false,false变成true。

0×06:位运算符

位运算符用于对操作数中的每一个二进制位进行运算。

0×07;其他运算符

①? :
三元运算符
表达式1 ? 表达式2 :表达式3;
如果表达式1的值为true,则执行表达式2,否则执行表达式3。

②’ ’
可以把系统的命令放在里面执行!(Windows系统)

③@
屏蔽表达式可能发生的错误!注意:是表达式

echo @$b;

④=> , -> ,instanceof(先省略)

0×08:运算符的优先级
①【无】递增递减
②【右->左】逻辑非
③【左->右】乘,除,取余
④【左】加,减,字符串连接
⑤【无】包含大于号,小于号的运算符
⑥【无】不包含大于号或者小于号的运算符
⑦【左】逻辑与 &&
⑧【左】逻辑或 ||
⑨【左】? :
⑩【右】赋值运算符
⒒【左】逻辑异或 xor

圆括号里的可以看成一个整体,并且圆括号可以增加程序的可读性。

短路问题:

$a=false;
$b=1;
$a && ++$b;
echo $b;  //上面的$b直接被短路掉!并且数值不变!

语言设计者认为:只要有逻辑运算符(逻辑与,逻辑或),那么运算结果就是一个true或者false。整个程序的运行过程就不重要了。

猜你喜欢

转载自blog.csdn.net/qq_45869039/article/details/105940253
今日推荐