码迷,mamicode.com
首页 > Web开发 > 详细

PHP运算符

时间:2015-11-13 23:44:56      阅读:498      评论:0      收藏:0      [点我收藏+]

标签: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 ? "及格" : "不及格";    //结果为:及格


PHP运算符

标签:php运算符

原文地址:http://ginvip.blog.51cto.com/8092345/1712603

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!