一. 运算符
 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. 集成Azure DevOps Server(TFS) 与微软Teams

    1.概述 Microsoft Teams是Office 365中团队协作的中心.将团队的所有聊天.会议.文件和应用程序放在一个位置.软件开发团队可以在一个专门的协作中心中即时访问他们所需的所有内容,T ...

  2. c#菜单动态合并 z

    说明 在程序中经常使用弹出菜单,并且一个窗体中可以存在多个弹出菜单.开发过MDI窗体的读者可能都知道,当MDI子窗体最大化时,子窗体和主窗体的菜单能够自动的合并.这是如何实现的呢?本例实现了将两个弹出 ...

  3. (三十三)golang--面向对象之继承

    继承可以解决代码复用: 实现:只需要在结构体中嵌套一个匿名结构体: 结构体可以使用匿名结构体中所有字段核方法:无论是大写还是小写: 可以简化访问匿名结构体中的属性和方法: 当该结构体和匿名结构体有相同 ...

  4. Debug 路漫漫-12:Python: ValueError: 'userid' is both an index level and a column label, which is ambiguous.

    啊,又遇到难题了 == 想要对两个 dataframe 做自然连接 merge,连接的key 为 “userid”,但是报错:ValueError: 'userid' is both an index ...

  5. 知识图谱与Bert结合

    论文题目: ERNIE: Enhanced Language Representation with Informative Entities(THU/ACL2019) 本文的工作也是属于对BERT锦 ...

  6. Asp.Net Core 中的静态文件

    Asp.Net Core 中的静态文件 在这节中我们将讨论如何使 ASP.NET Core 应用程序,支持静态文件,如 HTML,图像,CSS 和 JavaScript 文件. 静态文件 默认情况下, ...

  7. netCore3.0+webapi到前端vue(后端)

    第一步创建api项目 创建完成启动F5!! 如图 数据库我用的是mysql 用ef操作数据 开发环境:Win10 + VS2019Mysql服务器版本:8.0.16 1.下载并安装插件(必备) MyS ...

  8. PhantomJS简单使用

    PhantomJS下载地址:   http://phantomjs.org/download.html 简单使用: from selenium import webdriver # 要想调用键盘按键操 ...

  9. iconfont采坑

    1. iconfont采坑 1.1. 前言 使用iconfont过程中踩过坑特此记录 不知道iconfont的这里也简单介绍一笔,阿里开放的一个图标素材库,用来快速找图标下载使用图标 iconfont ...

  10. 北京地铁出行线路规划系统项目总结(Java+Flask+Vue实现)

    北京地铁出行线路规划系统项目总结 GitHub仓库地址:https://github.com/KeadinZhou/SE-Subway Demo地址:http://10.66.2.161:8080/ ...