为了账号安全,请及时绑定邮箱和手机立即绑定

PHP运算符

标签:
PHP

PHP运算符



算术运算符:


有以下几个:+ ,- ,* ,/ ,% ,++ ,--

注意:取余运算%,先取整,再取余

    $v1 = 7.5%3;    //结果为:1

    $v2 = 7.5%3.5;  //结果为:1

    对比JS中:(JS中不会进行取整处理)

    var v1 = 7.5%3;    //结果是:1.5

    var v2 = 7.5%3.5;  //结果是:0.5


自增自减运算符:

    常规:对数字进行自加1或自减1

    字符串:只能自增,且自增的效果就是“下一个字符”

    布尔值递增递减无效

    null递减无效,递增结果为1

前自增和后自增的区别:

    前++:先完成变量的递增运算,再取得该变量的值参与别的运算

    后++:先将原来变量的值临时存储,再将变量值递增,最后再将临时存储的值参与别的运算

    推论1:如果独立语句中时行自加运算,前自加后自加没有区别

    推论2:如果前++后++放在别的语句中,则会有所区别

    推论3:前++比后++效率略高(在循环中建议使用前++)


比较运算符:

    包括:> >= < <= ==(松散相等) != ===(严格相等) !==


==与===的区别:

==:松散相等,比较的是两个数据“类型转换之后”是否有可能相等,也常常认为是“数据内容是否相等。

===:严格相等,全等,只有两个数据的类型与数据的内容都完全一致,才相等。

参考手册》附录》类型比较表


常见不同类型的比较(主要指标量类型的数据):

    有布尔值,均转为布尔值比较,规则:true > false

    否则,如果有数字,均转为数字比较

    否则,如果两边都是纯数字字符串,转为数字比较

    否则就按字符串比较。    “abc35" > "abc123"  结果为:true

字符串的比较规则为:按字符的先后顺序依次一个一个比较,发现哪个大,则就表示整体大,后续不再比较。


逻辑运算符:&& || !

    前提:都是针对布尔类型的值进行的运算,如果不是布尔,就会转换为布尔。


    逻辑与:&&

        规则(真值表):

            true&&true =>true

            true&&false =>false

            false&&true =>false

            false&&false =>false

        只有两个都是true,结果才是true;或者只要有一个是false,结果就为false

    逻辑或:||

        规则(真值表):

            true||true =>true

            true||false =>true

            false||true =>true

            false||false =>false

        只有两个都是false,结果才是false;或者只要有一个是true,结果变为true

    逻辑非:

        !true =>false;

        !false =>true;


短路现象之逻辑与短路:


    在实际应用中,参与逻辑运算的数据,往往都不是直接的布尔值,而是有关计算之后的布尔结果值。大致如下:

    if(IsFemale($uName) && IsAge($uName) >18) {

        ......echo "Lady first";

    }

    此时,如果IsFemale()函数判断的结果是false,那么后续的函数isAage(),就不再调用,自然也不再进行大于18的判断,这就称为“短路现象”。


短路现象之逻辑或短路:


    if(IsFemale($uName) || IsAge($uName) <18) {

        ......echo "Children or women first";

    }

    此时,如果IsFemale()函数判断的结果是true,那么后续的函数isAage(),就不再调用,自然也不再进行小于18的判断,这就是“或运算符短路现象”。


字符串运算符:只有一个:“.”,衍生出一个“.=”,会将运算符两边的数据转换为字符串。

              对比JS:+ (具有双重含义,此时就需要一定的“判断”)


赋值运算符:只有一个:“=”,衍生出多个:+=,-=,*=,/=,%=,.=


条件(三目)运算符:

    一般的运算符需要2个数据参与。

    有几个运算符只需要一个数据参与:++,--,!

    条件运算符就需要至少3个数据参与,形式为:数据1 ? 数据2 :数据3;

    通常,数据1最终应该是一个布尔值(如果不是,则会当作布尔值来使用)。

    含义:

        如果数据1为true,则运算结果为数据2,否则运算结果为数据3

举例:

    $score = 66;

    $result = $score >= 60 ? "及格" : "不及格";    //结果为:及格


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消