1.php流程语句

    1.php代码执行从上到下

    2.条件语句 if else 和 switch

    案例:

      $name=56;

      if($name>56) echo "hello world";

  条件语句的画图解析:

    

  if else 条件语句(主要针对范围)

  switch 条件语句(主要针对具体的值)

  案例:

    $name=1;

    switch($name){

      case 1:

        echo "1";

        break;

      case 2:

        echo "2";

        break;

    }

  4.循环语句:

    for

    案例:

      for($i=0;$i<3;$i++){

        echo $i;

      }

    while

    案例:

      while($i<5){

        echo $i;

        $i++;

      }

    do while

      do{

        echo "$i";

        $i++;

      }

      while($i<5);

    for each 针对关联数组  

    案例:

      $arr=array("name"=>"zhang","age"=>12);

      foreach($arr as $key=>$value){

        echo $key;

      }    

  注意:while和do while的区别:

    while  先判断后执行

    do while 先执行后判断;

  js中的数组,本质是对象;

  php中没有json格式。但是对于前端来说要 json格式

  php提供了一个方法叫 json_encode()  将数据转化为json格式;

  php数组:

    1.普通数组:$arr=[1,2,3,4];

    另一种写法:$arr=array(1,2,3,4);

    2.关联数组:

      $arr=array("name"=>"zhang","age"=>18);

    3.多维数组:

      两种情况:

        1.$arr=[1,2,3,[4,5,6,[12,45]],7,8,9];  普通函数的多维数组;

        2.$arr=array("name"=>array("zhang","li","wang'),"age"=>array(12,24,36));  关联数组的多为数组;

  多维数组的遍历:  (利用递归的特性)

  function fn($arr){
    foreach($arr as $key=>$value){
      if(is_array($value)){
        fn($value);
      }
      else{
        echo $value."<br />";
      }
    }
  }
  fn($arr);

  两个方法:

  获取数组长度的方法:count();

  判断一个变量是不是数组:is_array();      

  函数:php的自定义函数和内置函数;

    使用关键字function定义函数;

  function fn(){}  fn()

  函数调用的时候,会开辟内存空间,有栈和堆,调用完毕后内存就会被销毁,销毁的顺序,先进后出;

  画图解析函数:

  代码:

    function fn(){

      function ff(){

        echo "hello world";  

      }

      ff();

    }

    fn();

  画图:

    

  称之为:函数作用域;

  四个关键字:global  local  static  parameter

  global全局变量都会存在$GLOBALS的超全局变量里面 ,  $GLOBALS的本质是一个数组;

  函数参数;

    1.参数传值:

      function fn($a){

        echo $a;

      }

      fn(56);

    2.默认参数:

      function fn($a=23){

        echo $a;

      }

      fn();

    3.引用传参:将地址传进去;

    函数内部,如果修改了这个地址里的值,函数外也会跟着改 

      $n=20;
      function fn(&$n){
        $n++;
        echo $n+2;
      }
      fn($n);
      echo $n;

  如果传的有默认参数和普通参数同时传,主要注意顺序问题。

  在js中函数自身有一个arguments的属性,实参构成的数据集合;

  argument的方法:

    func_num_args()  获取实参的个数;

    func_get_arges()  获取实参构成的集合  因为是数组,输出的时候要用 var_dump();

    func_get_age(index)  必填参数,获取具体的某个参数;

  递归:

    函数内部调用函数本身:

    function test($n){

      echo $n;

      if($n>0){

        test($n-1);

      }

      else{

        echo "==="

      }

      echo $n;

    }

    test(3);    得到的答案:3210===0123;

    画图解析:

    

php的语句的更多相关文章

  1. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  2. whdxlib

    1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...

  3. 【.net 深呼吸】细说CodeDom(2):表达式、语句

    在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...

  4. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  5. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  6. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  7. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  8. Oracle 数据库语句大全

    Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...

  9. MyBatis源码分析(二)语句处理器

    StatementHandler 语句处理器,主要负责语句的创建.参数的设置.语句的执行.不负责结果集的处理. Statement prepare(Connection connection, Int ...

  10. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

随机推荐

  1. linux入门001--帮助支持

    linux入门001--帮助支持====1. 帮助手册提供命令的使用说明:man ls提供基础知识和参考信息,有时会有实例和交叉索引,但是基本没有教程式的文档.就是说,并不会有偏重告诉你那个重要,那个 ...

  2. hdu2174 kiki's game 博弈

    Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes th ...

  3. struts2的国际化i18n

    先来例子,普通的读取配置文件中不同语言信息,一个测试类,一份中文配置文件,一份英文配置文件 中文配置文件,书写中文“欢迎”,myelipse自动转码 public class Readi18n { p ...

  4. MySQL系列-优化之like关键字 创建索引

    原文: https://blog.csdn.net/ufo___/article/details/81164996 MySQL系列-优化之覆盖索引:  https://blog.csdn.net/UF ...

  5. <jsp:include>动作元素,附:最易出错的一点

    先定义一个date.jsp,再定义一个main.jsp.用<jsp:include plage = "相对url地址" flush = "true"> ...

  6. SolrCore Initialization Failures - Max direct memory is likely too low

    org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: The max direct memory is ...

  7. eslint 知识点

    ESlint和webpack集成,在babel编译代码开始前,进行代码规范检测. eslint的配置方式.比较多元化: js注释 .eslintrc.*文件 package.json里面配置eslin ...

  8. C# 使用委托实现多线程调用窗体的四种方式(转)

    1.方法一:使用线程 功能描述:在用c#做WinFrom开发的过程中.我们经常需要用到进度条(ProgressBar)用于显示进度信息.这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口 ...

  9. spring-整合Struts2

    1. Spring 如何在 WEB 应用中使用 ? 1). 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE ...

  10. 修改ORA-28001 口令已经失效问题

    Oracle默认密码的有效时间为180天,当超过180天时,将出现如下错误 解决方法: 使用Oracle SQL Developer登录Oralce, 以as sysdba登录 登录后,执行 sele ...