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运算符

注意:为了方便计算,我们无需理会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 :