php运算符
运算符和分类
运算符,是可以通过给出一个或多个值(用编程语言来说叫做,表达式)来产生另一个值(整个结果成为
一个表达式)的东西。
算数运算符
运算符类型
(1)运算符的功能区分
`+ - * / % ++ --
1 // 算数运算符之加减乘除取余 2 $a = 1; 3 $b = 2; 4 var_dump($a + $b);// 3 5 var_dump($a - $b);// -1 6 var_dump($a * $b);// 2 7 var_dump($a / $b);// 0.5 8 var_dump($a % $b);// 1 9 // ++自加 --自减 10 // ++自加1,在自己原来的基础上加上1 11 // 前加加(++$a),先运算后赋值 12 // 后加加($a++),先赋值后运算 13 $a = 1; 14 $b = ++$a; 15 echo $a;//2 16 echo $b;//2 17 echo '<hr/>'; 18 $c = 1; 19 $d = $c++; 20 echo $d;// 21 echo $c;//2 22 echo '<hr/>'; 23 $a = 3; 24 $b = ++$a; 25 echo $a;//4 26 echo $b;//4 27 echo '<hr/>'; 28 $c = 4; 29 $d = $c++; 30 echo $c;//5 31 echo $d;//4 32 echo '<hr/>'; 33 $num1 = 1; 34 //2 2|2 35 $num2 = ++$num1; 36 //2 2|3 37 $num3 = $num2++; 38 echo $num1;//2 39 echo $num2;//3 40 echo $num3;//2 41 echo '<hr/>'; 42 $num1 = 5; 43 //5 5|6 44 $num2 = $num1++; 45 //12 6|6 6 46 $num3 = ++$num2 + $num1; 47 echo $num3;//12 48 echo $num2;//6 49 echo $num1;//6 50 echo '<hr/>'; 51 $a = 100; 52 $b = 100; 53 //201 100|101 101|101 54 $c = $a+++++$b; 55 echo $a;//101 56 echo $b;//101 57 echo $c;//201 58 echo '<hr/>'; 59 $a = 100; 60 $b = 100; 61 //200 100|101 100|101 62 $c = $a++ + $b++; 63 //98 200|201 102 |102 64 $d = $c++ - ++$b; 65 echo $a;// 101 66 echo $b;// 102 67 echo $c;// 201 68 echo $d;// 98 69 echo '<hr/>'; 70 //减减 自减1 71 //前减减 (--$a) 先运算后赋值 后减减($a--) 先赋值 后运算 72 $a = 10; 73 $n = $a--; 74 echo $a;//9 75 echo $n;//10 76 echo '<hr/>'; 77 $a = 10; 78 $b = 10; 79 $c = $a--; 80 $d = --$b; 81 echo $a;//9 82 echo $b;//9 83 echo $c;//10 84 echo $d;//9 85 echo '<hr/>'; 86 $a = 100; 87 $b = 100; 88 //200 100|101 + 100|99 89 $c = $a++ + $b--; 90 //101 201|201 100|100 91 $d = ++$c - --$a; 92 echo $a;// 100 93 echo $b;// 99 94 echo $c;// 201 95 echo $d;// 101 96 echo '<hr/>';
连接运算符
连接运算符(字符串运算符)
神奇的米粒(.)
1. 字符串和字符串连接的时候需要使用
2. 字符串和变量连接的时候需要使用
3. 变量和字符串连接的时候需要使用
4. 变量和变量连接的时候需要使用
1 <?php 2 //字符串和字符串连接的时候使⽤ 3 echo '众人皆醉我独醒'.'<br/>'.'到底正不正经'.'<br/>'; 4 //字符串和变量连接的时候使⽤ 5 $str = '就好了'; 6 echo '不在放荡中变坏,就在沉默中变态------'.$str; 7 echo '<br/>'; 8 //变量和字符串连接的时候使⽤ 9 $str1 = '姐姐说:'; 10 echo $str1.'英雄不问出路,流氓不看岁数<br>'; 11 //变量和变量连接的时候使⽤ 12 $str2 ='所谓逻辑:<br/>'; 13 $str3 ='就是合理的因为。。。所以。。。的能个<br/>'; 14 echo $str2.$str3;
赋值运算符
赋值运算符
= 将一个值或者表达式的结果赋值给变量
+= 将变量与所赋的值相加后的结果赋值给变量
-= 将变量与所赋的值相减后的结果赋值给变量
*= 将变量与所赋的值相乘后的结果赋值给变量
/= 将变量与所赋的值相除后的结果赋值给变量
%= 将变量与所赋的值求模后的结果赋值给变量
.= 将变量与所赋的值连接后的结果赋值给变量
1 <?php 2 $str =123; 3 4 //$str +=123; 5 //$str = $str + 123; 6 7 //$str -=10; 8 //$str = $str -10; 9 //$str *=3; 10 //$str = $str*3; 11 //$str /=3; 12 //$str = $str /3; 13 //$str %=2; 14 //$str = $str % 2; 15 //echo $str; 16 echo '<hr/>'; 17 $str = ''; 18 $str .= '绳命,是剁么的回晃,绳命,是入刺的井猜。<br/>'; 19 $str .= '壤窝们,巩痛嘱咐碰优。<br/>'; 20 $str .=
比较运算符
比较运算符
> 大于,当左边大于右边的时候返回true,否则返回false
< 小于,当左边小于右边的时候返回true,否则返回false
>= 大于等于,当左边大于等于右边的时候返回true,否则返回false
<= 小于等于,当左边小于等于右边的时候返回true,否则返回false
== 等于,两边操作的数值相等的时候返回true,否则返回false
=== 全等于,两边的值相等并且类型也相等则返回true,否则返回false
!= 不等于,两边的值不相等的时候回返回true,否则返回false
!== 不全等于,两边的值与类型相同的时候返回false,否则返回true
1 <?php 2 $a = 1; 3 $b = 2; 4 var_dump($a > $b);//false 5 var_dump($a < $b);//true 6 var_dump($a >= $b);//false 7 var_dump($a <= $b);//tru 8 $c = 1; // int 9 $d = 1;//string 10 var_dump($c == $d);//tru 11 var_dump($c === $d);//false 12 var_dump($c <> $d);//false 13 var_dump($c != $d);//false 14 var_dump($c !== $d);//true
逻辑算符
逻辑运算符
&& 和(and) ,逻辑与,一边为假 即为假
|| 或者(or) ,逻辑或,一边为真 即为真
! 逻辑非 真变假,假变真
xor 逻辑异或相同为假,不同为真
逻辑与:
1 <?php 2 // if(true){ 3 // echo 'A计划真的'; 4 // }else{ 5 // echo 'B计划假的'; 6 // } 7 // $a =3; 8 // $b =2; 9 // if($a < $b){ 10 // echo '我发现我今天太帅了'; 11 // }else{ 12 // echo '你个丑逼'; 13 // } 14 //逻辑与 && (and) 15 $a = false; 16 $b = false; 17 if($a && $b){ 18 echo '真真的'; 19 }else{ 20 echo '假惺惺';
逻辑或:
1 <?php 2 $a = false; 3 $b = false; 4 //逻辑或 || (or) 5 if($a || $b){ 6 echo '真真的'; 7 }else{ 8 echo '假惺惺'; 9
逻辑非:
1 <?php 2 //逻辑⾮ 3 $a = false; 4 if(!$a){ 5 echo '真真的'; 6 }else{ 7 echo '假惺惺';
};
逻辑异或:
1 <?php 2 //逻辑异或 xor 3 4 $a = false; 5 $b = false; 6 if($a xor $b){ 7 echo '真真的'; 8 }else{ 9 echo '假惺惺'; 10 }
其他运算符
其他运算符
?: 三元运算符,可以提供简单的逻辑判断
`` (反引号)执行运算符,php将尝试将反引号里面的内容做为当前系统的系统命令来执行,并且
将其输出里面的内容
@ 错误控制运算符,将其放置在php表达式的前面来控制可能产生的任何错误,可以忽略错误信息
=> 数组下标指定符,通过此符号指定数组的下标和值
1 <?php 2 $a = true; 3 $b = false; 4 if($a && $b){ 5 echo '真的'; 6 }else{ 7 echo '假的'; 8 }echo '<hr/>'; 9 //判断条件? 真区间 : 假区间; 10 // echo true && false? '真的':'假的'; 11 // $a =2; 12 // $b =3; 13 // echo $a < $b ? '真的' : '假的' ; 14 echo '<pre>'; 15 //echo `ipconfig`; 16 //echo `tree`; 17 echo '</pre>'; 18 //变量要先声明后使用,因为php是弱类型语⾔所以必须先声明后使用 19 echo @$zhangsan; 20 echo '<hr/>'; 21 $arr = array('name'=>1,0=>2); 22 var_dump($arr);
运算符优先级
注意:为了方便计算,我们无需理会PHP官方的优先级,你如果想优先计算,请加括号即可
逻辑与或短路特征
逻辑与或的短路特征:
1 <?php 2 //逻辑与 短路 左边为假 即短路 3 4 // $a = 10; 5 // //整数转换为布尔型: 非0 即真 6 // var_dump(($b=0)&&($a=100)); 7 // echo $a; //10 8 // echo '<br/>'; 9 // echo $b;// 0 10 // echo '<br/>'; 11 // var_dump(($b=10)&&($a=100)); 12 // echo $a;//100 13 // echo '<br/>'; 14 // echo $b;//10 15 $a = 10; 16 //逻辑或短路 左边为真即短路 后面的表达式不在执行 17 var_dump(($b=10) || ($a=10000000000000)); 18 echo $a; 19 echo '<br/>'; 20 echo $b; 21 echo '<hr/>';
按照运算数区分
i. 一元运算符 有一个运算数参与的运算
ii. 二元运算符 有两个运算数参与的运算
iii. 三元运算符
1 例如:!$a $a++ $b-- --$b --$a....
1 例如:$a>$b $a+$b $a*$b.......
1 例如:$a?$b :