一. 运算符
 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. Oracle中如何创建数据库

    Oracle数据库的物理结构与MySQL以及SQLServer有着很大的不同.在使用MySQL或SQLServer时,我们不需要去关心它们的逻辑结构和物理结构. 但是在使用Oracle的时候,我们必须 ...

  2. LeetCode 2:两数相加 Add Two Numbers

    ​给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字.如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

  3. ASCll编码,

  4. 搜索旋转排序数组II

    题目 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [,,,,,,] 可能变为 [,,,,,,] ). 编写一个函数来判断给定的目标值是否存在于数组中.若存在返回 true, ...

  5. Java基础扫盲系列(三)— Java内省技术

    前言 Java内省技术属于Java基础体系的的一部分,但是很多人都不甚了解.笔者也是在学习Spring源码的过程中遇到该技术模块的.为了完善技术体系,本文将全面的学习该技术.在提到Java内省技术,就 ...

  6. winform子窗口调用父窗口的控件及方法-一般调用

    首先新建一个窗体应用程序,在项目属性中点击右键->添加->添加新项,选择Windows窗体->添加. 在Form1和Form2窗口中各添加一个按钮,并双击添加事件处理函数:     ...

  7. [笔记] NuGet Warning NU5100 处理

    问题描述 在将 .NET 项目编译成 NUGET 包时,如果项目引用了其它 dll 文件,则可能出现这个警告,如果不处理,Nuget 包中可能无法正确引用所添加的 dll . 处理方式 在项目 .cs ...

  8. Map-HashMap-遍历

    第一种遍历方法 : 先获取Map中的所有key值,然后根据key,依次从Map中去数据 (针对只取 Key 或者 Value 的情况) Map<String, String> hashMa ...

  9. 小鸟初学Shell编程(五)输入输出重定向

    重定向作用 一个进程默认会打开标准输入.标准输出.错误输出三个文件描述符. 重定向可以让我们的程序的标准输出.错误输出的信息重定向文件里,那么这里还可以将文件的内容代替键盘作为一种标准输入的方式. 重 ...

  10. elasticsearch 集群、节点、索引、分片、副本概念

    原文链接: https://www.jianshu.com/p/297e13045605 集群(cluster): 由一个或多个节点组成, 并通过集群名称与其他集群进行区分 节点(node): 单个 ...