一. 运算符
 1.按功能分
  (1)算术运算符
  (2)字符运算符
  (3)赋值运算符
  (4)比较运算符
  (5)逻辑运算符
  (6)错误抑制符
  (7)执行运算符
 2.逻辑运算符 : ! &&(and) ||(or) xor
   (1)&&(and):与,并且,第一个表达式和 第二个表达式都为真才为真否则为假
   (2)||(or):或,或者, 第一个表达式和第二个表达式都为假才为假否则为真   
   (3) ! 非  
   (4) xor :异或  第一个表达式和 第二个表达式的布尔结果不同为真,相同为假
   (5)短路:
       a.原理:如果第一个表达式的结果就能确定整个表达式的结果,那第二个表达式不执行产生短路
       b. &&(and)短路:第一个表达式为假,那第二个表达式不执行,产生短路 
       c. ||(or)短路:第一个表达式为真,那第二个表达式不执行,产生短路

说明:逻辑运算符运算结果布尔类型

3.错误抑制符 : @忽略错误,没错误不忽略
      说明:一般用在函数或表达式前面
 4. 执行运算符: 反引号 ``
       说明:
      a.PHP的命令行
      b.php.ini 中 safe_mode=Off关闭
 5.按参加的操作数的个数分
   (1)单目(一元 ):1个操作数
       ++ -- ! @等
   (2)双目(二元 ):2个操作数
       + - * /  等
   (3)三目(三元 ):3个操作数
       说明:
      a. expr1?expr2:expr3;
                 当expr1为真执行expr2,
                 如果为假执行expr3
      b. PHP5.3以上支持
       expr1?expr1:expr3; 
  6. 运算符的优先级
    (1)单目运算符和赋值运算符是右结合(从右往左)
              其他都是左结合(从左往右运算)
    (2)优先级高的先运行,优先级底的后运行,同级
               左结合或右结合
    (3)用()改变优先级的顺序
    (4)有短路先考虑短路
    (5)运算符的优先级表
              单目运算符    双目运算符(算术 比较 逻辑)
              三目运算符   赋值运算符   and  xor or 
二.流程控制语句
  1.作用:程序都是自上而下逐行执行,如果想通过某条件
             执行某个语句或重复执行某个语句,那就要用到
             流程控制语句 
  2.分类
   (1)条件分支语句
   (2)循环语句  
  3.条件分支语句
    (1)if单分支语句
      if(expr){
        echo 'expr条件为真执行的语句组';
      }
            说明:
       a. 如果expr条件为真执行if后面的大括号中 语句,如果expr条件为假不执行if后面的大括号,执行顺序语句
       b.如果if后面的大括号中语句组只有一条语句大花括号可以省略,不推荐省略
    (2)if双分支语句
       if(expr){
         echo '如果expr条件为真执行的语句组';
       }else{
         echo '如果expr条件为假执行的语句组';
       }
              说明:如果expr条件为真执行if后面的大括号的语句组 否则执行else后面的大括号的语句组,二选一
    (3)if多分支语句:
       if(expr1){
          ....
       }elseif(expr2){
          ...
       }......
       elseif(expr3){
          ...
       }
       [else{
         ....
       }]
              说明:根据不同条件执行对应的语句组,如果某个条件为真就执行对应的语句组然后跳出多分支语句;如果所有条件都为假 并且else存在那执行else对应的语句组然后跳出多分支语句。多选一          
    (4)if嵌套:
      if(expr){
         if(expr2){
           ...
         }else{
           ...
         } 
      }else{
         ...
      }
      if(expr){
         
      }else{
        if(expr2){
          ...
        }else{
           ...
        } 
      }
    (5)switch语句:
     switch(变量名称){
       case 值:
         ...
         break;
       case 值:
         ...
         break;
       ......
       [default:
         ...
         break;]
     }
         说明:
       a.判断变量等于某个特性的值
       b.switch/case 松散比较 
         case 等同于 ==  
       c.switch不能跳出分支语句
                   用break或continue 结束

分支语句

【day04】PHP的更多相关文章

  1. 函数和常用模块【day04】:内置函数(十)

    一.36-40 36.isinstance(object, classinfo) 功能:用于判断,对象是否是某个类的实例 # s = "alex" # 对象,"alex& ...

  2. 函数和常用模块【day04】:内置函数(九)

    一.11-20 11.ord(c) 功能:根据字符,找到对应的ascii值 1 2 >>> ord('a') 97 12.classmethod(function) 功能:类方法,这 ...

  3. 函数和常用模块【day04】:高阶函数(七)

    本节内容 1.介绍 2.具体实用 3.eval()函数 一.介绍 高阶函数:变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数. 二.具体实用 其实说白了,高阶函数功能就 ...

  4. 函数和常用模块【day04】:函数式编程(六)

    本节内容 1.概述 2.介绍 3.定义 一.概述 每当提到函数式编程,很多人都以为就是我们经常写的函数.其实不然. 函数:是定义一段代码的执行过程 函数式编程:输入是确定的,输出也是确定的 二.介绍 ...

  5. 函数和常用模块【day04】:递归(五)

    本节内容 作用域.局部和全局变量 递归 函数式编程 高阶函数和eval()函数 一.概述 在函数内部,可以调用其他函数.但是一个函数在内部调用自身,这个函数被称为递归函数. 二.简单介绍 那递归具体是 ...

  6. 函数和常用模块【day04】:函数参数及调用(二)

    本节内容 1.为什么要有参数 2.返回值 3.有参数函数调用 一.为什么要有参数? 无参数实现 def CPU报警邮件() #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 def 硬盘报警邮件() ...

  7. 函数和常用模块【day04】:函数介绍(一)

    本节内容 1.函数介绍 2.函数定义 3.为什么要使用函数 一.介绍 在我们以往的学习编程的过程当中,碰到的最多的两张编程方式或者说编程方法:面向过程和面向对象.其实不管是哪一种,其实都是编程的方法论 ...

  8. 函数和常用模块【day04】:内置函数(八)

    一.常用内置函数 1.表格 二.内置函数详情(1-10) 1.abs(x) 功能:取数的绝对值 1 2 >>> abs(-1)  #取-1的绝对值 1 2.all(iterable) ...

  9. 函数和常用模块【day04】:作用域、局部和全局变量(四)

    本节内容 概述 课前前引 局部变量和全局变量 总结 一.概述 我们之前写代码,都需要声明变量,但是我们思考过变量的作用范围吗?今天我们就来讲讲变量的作用范围,这个作用范围又叫作用域.首先我们根据变量的 ...

  10. 函数和常用模块【day04】:函数的非固定参数(三)

    本节内容 1.概述 2.默认参数 3.参数组 4.总结 一.概述 在上一篇博客中我已经写了,位置参数和关键字参数,下面我们来谈谈默认参数和参数组 二.默认参数 默认参数指的是,我们在传参之前,先给参数 ...

随机推荐

  1. 随便读读skynet开源项目RILLSERVER

    读RILL SERVER 因为源码是前段时间下载的,最近才拿出来分析,今天发现已经更新了,比如删除了module中订阅那些代码.但是并不影响总体的思路. 他加入了behavior3 . pl .FSM ...

  2. umi+dva+antd新建项目

    首先全局安装dva+umiumi:npm install -g umidva:npm install -g dva-cli 通过脚手架创建项目 一: mkdir myapp && cd ...

  3. java基础之----java常见异常及代码示例

    概述 java中有两种错误类型,一个是Exception,一个是Error,都在java.lang包下,一般来说程序中的try...catch捕获的是Exception类型的异常,而Error类型的错 ...

  4. 压缩20M文件从30秒到1秒的优化过程

    文章来源公众号:IT牧场 有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去.之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改 ...

  5. RSyslog Windows Agent 安装配置

    下载地址:https://www.rsyslog.com/windows-agent/windows-agent-download/ 安装过程: 1.双击rsyslogwa安装包,开始进行安装 2.一 ...

  6. 转 OpenCV Mat 数据读写

    转:https://blog.csdn.net/u011520181/article/details/83831866 1.创建 Mat 对象: // 创建一个 320x240 的 8 位无符号型 4 ...

  7. 关于BFS+异或(C++)

    今天早上,我们做了场比赛,里面有一个题目是这样的.. 题目大意:        随着马场的繁荣,出现了越来越多的新马种.种族之间的沟通不畅严重影响了马场的和谐.这时,科学家发明了马语翻译机器人,正好可 ...

  8. deepin可视化程序打不开问题排查方法

    anyconnect是一个VPN软件,在deepin系统下安装完成之后,并不能够直接使用,点击启动图标之后没有反应. 要想分析问题,必须从命令行入手,错误会打印在控制台. 如何根据一个图标来找到一个程 ...

  9. 解决关于 npm build --prod ,出现 ERROR in budgets, maximum exceeded for initial. Budget 5 MB was exceeded by 750 kB的问题

    问题: 执行命令 :npm build --pord,出现以下错误: WARNING :. Ignoring. WARNING MB was exceeded by 3.73 MB. ERROR MB ...

  10. java--标准输入输出流

    //读取键盘录入的数据写到a.txt //方式一 private static void method() throws IOException { //创建输入流对象 InputStream is ...