**************字符串运算符******************
1.字符串运算符是一个. 也就是一个点,这个点把左边的字符串和右边的字符串拼接为一个字符串。
2.比如$a = "辛星永"; $b = "爱小倩"; 那么$a.$b就是"辛星永爱小倩";
3.我们写一个xin14.php练练手:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?php $xing = "辛星永爱"; $qian = "小倩"; $msg = $xing.$qian; echo $msg;</span>
4.那么我们会发现:
5.其实这个点不仅仅可以连接两个变量,还可以是两个字符串的数据,即$xing."小倩"和"辛星永爱"."小倩"也是正确的。
6.其实呢,这个点号还是饱受谩骂的,因为涉及到面向对象之后,绝大多数语言都使用点号作为调用成员方法的一个运算符,但是PHP由于把它作为字符串连接符了,因此只能采用箭头,即->来表示。
*****************赋值运算符****************
1.其实我们已经学过了,赋值运算符就是一个等号,比如$a = 3;就是把3赋值给$a。
2.其实呢赋值号还有升级版,分别是+=、-=、*=、/=、.=这几个。
3.什么意思呢,$a += $b ;其实就相当于$a = $a + $b; 其实左边就相当于右边的一个简写形式。
4.同理,$a -= $b;就是$a = $a - $b; 其他的运算符也都很好理解吧。
5.我们来试一试,我们写一个xin15.php,看看效果:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?php $money = 100;//现有资本 $money += 2000;//突然暴发 echo $money;</span>
6.然后我们看一下效果:
********************比较运算符*****************
1.比较运算符还是蛮有意思的,这个运算符会返回一个布尔类型的结果,也就是它会返回true或者false。
2.比较运算符主要分为>表示大于,<表示小于,>=表示大于等于,<=表示小于等于这几个都很好理解的。
3.由于=号用于赋值,我们用==表示等于,我们用===也就是三个等号表示全等于,也就是不仅值相等,而且类型也必须相同才返回true。
4.对于不等的情况,我们用!=表示,这里的!表示“不是”的意思也就是不等。
5.我们的<>也表示不等,因为它是大于号和小于号的结合。
6.还有一个符号,是!==,它表示比较运算符的两边如果值不相等,返回true,或者类型不相等,也会返回true,总之,它返回false就是值相等且类型相同,否则就返回true。
7.我们来个实例来演示一下吧,我们新建一个xin16.php,写入如下内容:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?php $i = 4;//整数的4 $f = 4.0;//浮点数的4.0 //判断$i和$f是否相等 $flag = $i == $f; var_dump($flag); //判断$i和$f是否全等 $flag = $i === $f; var_dump($flag);</span>
8.我们看到的结果如下:
***************递增递减运算符******************
1.我们使用++表示递增运算符,也就是该变量的数值增加1,--表示递减运算符,表示这个变量的值减1,这个运算符是C++首次引入的,也正是因为这两个运算符,所以C++被称为C++。
2.这个运算符可以在变量前面使用,也可以再变量后面使用,就是$a ++;和++$a;都是合法的,而且它们的含义也是相同的,都是让该变量的取值加1。
3.可能很多学C++出来的总是喜欢研究这个符号的使用情景并对此津津乐道,其实呢,我不建议这么做,感觉意义不是很大,咱们只要知道它的用途就可以了。
4.看一个例子xin17.php,我们的代码如下:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?php $a = 3; $a ++; ++$a; echo $a;</span>
5.我们进行了两次自增,因此它的结果肯定是5,效果如下:
*********************逻辑运算符*****************
1.逻辑运算符就是进行逻辑运算的,它的的操作对象通常是布尔类型。
2.and是逻辑与运算,也就是两边的布尔值都是true的时候,结果才为true,它和&&效果是一样的。
3.or是逻辑或运算,也就是两边的布尔值有一个是true,运算结果就为true,它和||效果是一样的。
4.xor是逻辑异或运算,也就是两边的值不一样的时候结果才为true,否则为false。
5.not是逻辑非运算符,直接取反,原来为true,则之后为false,原来为false,则之后为true。
6.有人会说and与&&是否完全相同,其实也不是,关键问题在于优先级不同,而对于优先级这种东西,我不建议大家搞的太复杂,因此我们一般也就用不到去研究了。
7.我们写一个xin18.php看一下效果:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?php $flag1 = 3==4; $flag2 = 4==4; $flag3 = $flag1 and $flag2; var_dump($flag3);</span>
8.我们发现效果如下:
****************三目运算符*****************
1.为什么叫三目运算符呢?它也叫做三元运算符,就是因为它有三个操作数。
2.它的格式通常是这样的a?b:c,它首先计算条件a,如果a为true,则该运算符的结果就是表达式b的值,如果a为false,则该运算符的结果就是表达式c的值。
3.我们看下面代码:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?php $a = 5; $b = 7; $big = $a > $b ? $a :$b; echo $big;</span>
4.其实读者应该知道我想干什么了,没错,我就是想把$a和$b中较大的那个找出来。
5.因此我们的运行效果如下:
*********************总结***************************
1.这一小节我们学习了较多的运算符,包括赋值运算符、比较运算符等等。
2.后面有学习了递增递减运算符、字符串运算符、逻辑运算符。
3.最后还有一个经典的三目运算符。
*********************跟踪训练**********************
1.任务一:把“学习PHP轻松入门”和“在实战中学习”这两个字符串连接起来并输出。
2.任务二:使用三目运算符求出6和9之中的最小值。
3.这里我就不给demo了,希望读者亲自完成喽。