回炉重造,第二话:PHP算数运算符

接下来继续学习PHP基础知识


算数运算+、-、*、/、%

++和--入门

$a=50;

$b=$a++;//等价于$b=$a;$a=$a+1;

$c=++$a;//等价于$a=$a+1;$c=$a;

前:

$a++;--->$a=$a+1

$a--;===>$a=$a-1

后:

++$a;--->$a=$a+1

--$a;--->$a=$a-1

区别:在赋值语句中,$b=$a++;---->$b=$a;$a=$a+1;

                                    $b=++$a;---->$a=$a+1;$b=$a;

--也一样,即赋值语句中,++在前则先执行++后赋值,++在后则先赋值后执行++


左+左-左*左/左%:

$a=10;$a+=90;--->$a=$a+90;//+、-、*、/、%的形式一样


比较运算符:

$a==$b;    true--->$a等于$b

$a===$b;  true--->$a等于$b,且两个的数据类型要一致,即若$a=2;$b=2.0,结果即为false

$a<>$b;    true--->$a不等于$b

$a!=$b;     true--->$a不等于$b

$a!==$b;   true--->$a不全等于$b,即$a的数值或者数据类型与$b不相等则为真

$a>$b;      true--->$a大于$b

$a<$b;      true--->$a小于$b

$a>=$b;    true--->$a大于或等于$b

$a<=$b;    true--->$a小于或等于$b


运算符:

$a and $b;  and(逻辑与),true--->$a与$b都为真

$a or $b;     or(逻辑或),true--->$a或$b为真

$a xor $b;   xor(逻辑异或),true--->$a或$b为真,但不同时为真,即只有一个为真!

!$a;              not(逻辑非),true--->$a不为真

$a&&$b;     and(逻辑与),true--->$a与$b都为真

$a||$b;        or(逻辑或),true--->$a或$b为真

ps:&&和||的优先级比and和or高

and和or的优先级比=低::::"and"<"="<"&&";"or"<"="<"||"

案例:$a=true && false; --->输出结果为false

           $b=true and false;--->输出结果为true

原因就是算数运算符的优先级问题!


三元运算:表达式1? 表达式2:表达式3
表达式1为真,取表达式2的值;为假则取表达式3的值
例:<?php
                 $a=90;
                 $b=180;
                 $c=$a>$b?12:100;
                 echo 'c='.$c;//输出结果为100
       ?>
表达式2和表达式3可以是不同的数据类型,也可以是函数

字符串运算:
<?php
     $a="hello,world";
     $b="php";
     $c=$a.$b;//输出结果为hello,worldphp,即为两字符串拼接
?>
ps:当两个变量(数据类型)使用.连接时,就表示把他们的内容拼接,系统会把变量当成字符串!

类型运算符:instanceof
class cat{}
class dog{}
$c=new cat;
var_dump($c instanceof cat);//输出为true
var_dump($c instanceof dog);//输出为false
PS:instanceof 只能判断类的类型,不能判断基本数据类型,即只能用于创建的类中



运算符优先级:
运算符优先级
结合方向运算符附加信息
clone newclone new
[array()
**算术运算符
++ -- ~ (int) (float) (string) (array) (object) (bool) @类型递增/递减
instanceof类型
!逻辑运算符
* / %算术运算符
+ - .算术运算符字符串运算符
<< >>位运算符
< <= > >=比较运算符
== != === !== <> <=>比较运算符
&位运算符引用
^位运算符
|位运算符
&&逻辑运算符
||逻辑运算符
??比较运算符
? :ternary
right= += -= *= **= /= .= %= &= |= ^= <<= >>=赋值运算符
and逻辑运算符
xor逻辑运算符
or逻辑运算符
PS:此优先级表来自PHP手册!!特此感谢PHP手册编者,特别推荐学习PHP手册,内容很全

PHP手册下载地址:http://php.net/download-docs.php,下载chm的版本就好啦,很好用,重点推荐

例子:$a=3;
           $b=++$a*3;//输出结果为12,因为++的优先级比*高,所以先++后再*
但,若是$b=$a++*3;则输出为9,后++是在运算后再++,即$b=$a*3;$a=$a+1;

今天就先到这里啦,每天进步一点点,明天一定会更美好


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值